The most important thing to understand is that humans are the worst when it comes to collecting and managing details in a controlled manner. Therefore, my recommendation is to not have humans write to your CMDB but to have robots and scripts write to it. You'll get far more information, in a fraction of the time, with much higher accuracy and quality.

At TraverseIT, we subscribe to, and pitch to our customers, what we call a "Phone Home" theory for Configuration Management. Let everything in your enterprise phone home with the details that need to be in the CMDB. The only exception to this are things that "must" be generated and managed by humans, such as human generated documentation.

Hi Bob,
My answer comes not from the world of ITIL but of qiality management.
Indeed, as Frank is sayin, you can't simply rely on people maintaining the CMDB correctly. You have to insert some control.
If automating is not the solution (Frank's solution) than I recommend either or both of 2 options:

Preventative/Proactive:
Nobody is allowed to update the CMDB but a Configuration Manager (or his team). The other teams provide input, and the ConfM first reviews it, then inserts it. If the provided input is below a quality threshold (description too short, fields not filled in), he gets into contact with the supplier of the information. That person has to improve the information before it will be submitted. The 'stick' of this method is that you can save yourself some time by providing correct information from the start, other wise you'll have to spend extra time with the ConfM again.

Detective/Reactive:
When other people administer the database, the ConfM can hold periodic reviews over the content. If there are problems, he can raise them with the people who populated the database with that information. So make sure to track who enters which information. He can also decide, based on frequent reoccurence of the same problems, to organise extra training sessions.