I'll repeat that, don't use registry cleaners.
They seriously suck and can often do more damage to your PC than they resolve.
Instead when removing software, look on the software vendors website for a clean-up tool that either removes the program and any unnecessary components, DLL's, OCX's etc that were installed with the program. Also make sure the clean-up tool is for the version of the application you're removing, using a clean-up tool for a different version will often not remove anything. Usually the uninstallers remove everything, but you can check for a clean-up tool if you are reinstalling the application and having difficulties.
This isn't a fault of Microsoft's, but rather the fault of sloppy programmers. If they kept their files in one location and used an INI files instead of writing to the registry removal would be a lot less painful and would require no more than deleting their Program Folder where they were installed. Here's hoping Windows 8 and Windows Phone 7/8 do this with their metro apps. (Apologies if they do, I currently use Android and haven't invested much time into looking at WinPhone7 yet, though this is to change soon)
I've come across more and more people that are using them and are recommended these tools by their friends who work in IT or are computer geeks... and the number one reason I'm talking to these people is that the registry cleaner has broke something. Badly.
I'm not the only person to think this either and have held this opinion since the early days of Windows ME, when I first got online properly (with ADSL speeds, not clunky dial-up) and discovered them for myself and how awful they were and first hand saw the damage when I kept getting BSOD's after using one.
Here's a link to prove my point:
Mark Russinovich knows his stuff, otherwise Microsoft wouldn't have bought Winternals & Sysinternals, would they? ;-)
Thank you and good night!