The best parental control is a parent, period.

Any software control you may get is nothing more than a 'band-aid' for lazy parents. Put the PC someplace central, where it can be observed. Teach the kids about the dangers of the internet, and to operate in 'stealth' mode by not giving out names, addresses, phone numbers, etc.. or posting personal information on the net for public consumption. Viruses/trojans/malware will always be a never ending battle unless you ditch windows. SPAM can be reduced by using a mail client that has bayesian filtering, and pop-ups can be eliminated by using a browser such as Mozilla (which also has a nice email client with bayesian spam filtering) or Firefox. Access to the internet or internet services (such as AIM) can be controlled at the router if you have one, or you can set up a cheap linux NAT/router/firewall to do it, usually for free using an old PC that was going to be thrown out or given away (you don't need a lot of horsepower.. a 133Mhz 286 box would be more than enough).
As a side note, using the linux box for access to the internet gives you lots of advantages. For one, you can remotely control access from anywhere on the net, like from your work location. You can also set up a cron job to automatically enable/disable access or just selected services at certain times.. I have mine setup so that after 11:00pm (the kids bedtime), access is disabled for their computer, and it comes back on at 6:00pm the next day. Of course I can either log in locally or ssh into the box remotely and change it whenever I like as well. I can also, for example, block access to AIM if I see my daughter being distracted while trying to do her homework.
Cheers,
Brad