I usually use SpyBot: Search And Destroy. Lately, I have also been using Microsoft's AntiSpyware tool which has worked like a charm. Unfortunately, in light of recent events (Microsoft buying Claria and downgrading their detection status as spyware), I might have to reconsider Miscrosoft's option.
You can use both SpyBot: S&D (which is open source) and AdAware together, since one might catch what the other missed.
I would also recommend doing this in "Safe Mode with Networking" if possible since it would prevent the loading of all other background processes, allowing the spyware removal tools to remove the spyware/adware completely.
Also, be sure to login as each user account if there are multiple users, as EACH USER might have registry entries that need cleaning. I had to do this recently on a client's computer. There were 6 accounts: 5 user accounts and the administrator account (which you will see once in Safe Mode if Windows XP is using the welcome screen). I had to go through cleaning all six accounts before the machine was declared "exorcised."
Also be sure to run more than once on each user account to make sure it's completely gone.