For free Spyware/Adware utilities, I would recommend Adaware inconjuction to Spybot. That's probably the cheapest (after all it is free) and best combination out there. As a third option I would also recommend Spysweeper. It's my favorite, but you have to pay for it. I would also recommend using Spyblaster with any of the other spy utilties that you choose to take. It will basically block 98% of everything before it even has a chance to get on your comp.
For a firewall I'd recommend Zonealarm, either free or it's even worth paying for it. I did and it is my favorite.
For the free route on a sotware firewall, I'd have to recommend Kerio also. The 30 day trial basically sets it up for you that you will never have to worry about anything with it, and even after that, it is simple and easy to use and strong. Kerio paid version has a nice block ads tool in it, that it will automatically block ads like Google, etc. before you see them, but if you have Firefox and adblcok with the FiltersetG than you should be all set and have nothing to worry about.
And as of late, hardware firewalls have become all the rage. I simply do not see had it can be so. I don't have the best understanding of them, but I see that they are simply configured to block certain ports and items. nothing that great that I can't do with just my computer or my software firewall.
I have no clue as to how some people can recommend Norton anymore. The thing just isn't any good anymore. I mean, it's a good A/V program, but it is such a resource hog and is so bloated that it simply isn't worth it anymore. Same can be said about the firewall/internet security.
If you are willing to go the pay route again for A/V software, then I'd recommend Nod32. I used the trial of it, and absolutely loved it. I would pay for it, but I didn't have money at the time (and still don't) so I just went with AVG (free), which isn't as good, but it still gets the job done relatively well. Kaspersky from the trial was compareable to Nod32, as I loved it. I also here good things about Panda A/V.