well lets see, theres a valid point with Spyware remove, but there are problems with them
(One I found once deleted your passwords from being re-issued when you inputted a username in Explorer [it can be turned off under Internet Options] and was suppose to delete "cookies" from your cache, the site address came from an e-mail add that said something like "Don't let your boss see you've been on porn sites at work". The Daft thing was, it was a Porn Site company that was premoting the program for removing pornsite caches.)
In other words, Some people that output spyware/spam do so, so they can sell their trialware programs for removing spyware/spam.
Getting a firewall up is a good idea in some instances, but I know that the advertisment banners sometimes route around for another port. You can block their servers with a firewall.
The best one I have found for a Windows system, is a program that was written by a guy that I think is now an IBM whiz-kid.
http://www.mlin.net
If you look for his StartupMonitor program (You have to have MSI installed to install his programs, but there is details supplied on his site) The program will watch for any program that tries to install itself for startup (be it trojans, or spyware) the program will then pop a window up and ask you "Do you want to allow this to startup?" if you select yes, it will allow it to be added to your startup, if you select no, then you force it to never load.
There is another program Startupcpl which adds a "Startup" button in your Control Panel, this too is useful as it allows you to turn off the ones that are already install on your system (and stop some of the programs that tie up memory)