I second the motion regarding CCleaner. It's one of the best general cleanup utilities around for Windows.
CCleaner also includes a registry cleaner (the "issues" button), but I have to warn you that although CCleaner is arguably the best consumer-grade registry cleaner around, there's always the chance that serious damage will occur when messing about in the registry.
Frankly, I've rarely encountered CCleaner making serious errors in the registry cleaning. Occasional minor errors related to oddball programs it didn't recognize, yes. But I don't recall any CCleaner errors being serious enough to make a computer unbootable. So if you want to use it, go ahead; but I suggest refreshing System Restore first and making a backup when prompted in CCleaner. I also like to reboot every time I make major changes to the registry.
Another thing: Don't expect to find zero registry errors. That's a very rare thing indeed. A poorly-maintained PC may have several hundred (or more) registry errors, but even a well-maintained machine that's just been tuned up is likely to acquire a dozen or two very rapidly. So don't get obsessive about it.
As for spyware...
Spybot is okay, but it only does about a tenth of what a good tech will do during a tuneup. Spyware removal is an art and a science. There are many, many ways that spyware reinstalls itself, and a good tech is a detective who tries to root all of these out. It's as much art as science: We spend a lot of time looking at things that just don't look like they belong somewhere, because most spyware apps generate random file names and file sizes, thus requiring a lot of intuition and experience on the part of a tech.
Simpler spyware programs most often stash "guard" files somewhere (usually, but not always, in a temp folder; so deleting the contents of all temp folders in all profiles before running SpyBot is a good idea). These guard files are called on every boot and/or user login. If the main spyware components have been removed, they will be reinstalled on reboot or login when the guard files are called. Sometimes, these files are called by other user actions, or sometimes even as scheduled tasks or system services.
Using something like HijackThis can help identify what's going on in these cases, but it still takes someone skilled in spyware removal to analyze the results and make the corrections.
Recently, more sophisticated spyware apps are using rootkit technology, which often makes it difficult or impossible to economically identify and remove the malware. Rootkits run at a very low level (essentially becoming part of the operating system, in layman's terms) and are able to conceal themselves from most scanners (and humans). Sometimes, the time required to find and remove them makes it more economical to backup the data and do a reformat.
A few other things...
One often-overlooked optimization that can dramatically improve performance is to defragment the MFT (Master File Table). Unfortunately, Microsoft provides no easy means by which an average user can do this. I personally use Paragon, which is a bootable tool containing a number of hard disk utilities that will run in DOS or Linux. But how many average users have access to tools like this? Yet the performance improvement can be dramatic. So use Disk Defragmenter to analyze the drive, and then read the report. If there is significant MFT fragmentation, then it's worth the effort to hire someone to defrag it.
I also mentioned rebuilding the pagefile. Personally, I like setting a static size on the pagefile rather than a dynamic one. (Others, I know, disagree. I've wasted countless hours debating this.) But I usually set the minimum and maximum size to 1.5 times the amount of physical memory, but never less than 1024 MB. But it's best to do this after the drive has been defragmented so the new pagefile is contiguous.
The problems with all of this kind of work are, firstly, that there aren't too many techs who know how to do a really good cleaning/tune-up; and secondly, that it's time-consuming work that people are reluctant to pay for. The argument usually goes, "I can buy a new computer for less than that." Aside from being an exaggeration, the reality is that computers, like airplanes, need maintenance; and not all of it can be done by an average user.
The second reason is the cause of the first reason, incidentally. Because so few clients are willing to pay a skilled tech to thoroughly clean and tune-up a machine, all too many times, a reformat is opted for instead. And this sort of work requires that it be done frequently to keep one's skills sharp, because the malware landscape changes every day.
So in the end, my advice is to ask around and find a good computer tech, and pay for a few hours of his or her time. By "good," I don't mean someone who does things just like I do. Even my own employees have their own style, with my blessings. There are many ways to do a good job on a tune-up.
But find someone who is methodical, who does this work frequently, and who spends the first 15 to 30 minutes just talking to you about your user habits while poking around your machine. That's likely to be the guy/gal who really knows how to do a tune-up.
Regards,
Rich