yes you need both.
anti-virus detects virus/trojans that get on your system a firewall stops things getting in or out of your system.
AVG = anti virus
Ad-aware = anti spyware
Spybot S & D = anti spyware
Zone Alarm free edition. = firewall
CCLEANER is a utility that cleans junk files out.
You should have ONE anti-virus and ONE firewall. You can have as many anti-spyware programs as your heart desires.