You know, I always used to just reinstall the OS. These days, however, I'm working on customer computers where they don't want to pay the extra $$$ for a wipe and reinstall. So I'm getting ever more creative in rooting out problems and fixing the damage left behind by software uninstalls and malware removal. It's a lot of time I don't really get paid for but a happy customer comes back time and again.
I've found it useful to use CCleaner to clean up the registry towards the end of a good computer cleaning. So far, I've never came out with a messed up computer. But I also leave the default settings alone when working on someone elses computer. Those settings are pretty safe but I always backup the registry anyway. That habit will pay for itself the one time it finally happens.
I can tell you that I've had computers show up with over 800 registry errors that were running terrible and were set perfectly straight with a simple registry cleaning. That's what sold me on using them. But, I am a professional. I generally remove the software from the machine when I'm done so the customer can't get into trouble with it.