I would add that in today's world you should be using not just antivirus and firewalls but the following as well
1) Smart behavior blocker e.g threatfire, norton antibot
2) dumb behavior blocker e.g System safety monitor, ProSecurity, eqsecure
3) Sandbox + optional application virtualization e.g sandboxie, safespace, geswall, defensewall
4) System virtualization and/or hardware virtualization. Returnril, Shadowdefender, shadowuser pro, vmware, virtualpc
5) specialized anti-x tools to counter specific threats (keyloggers, buffer-overflow etc) - comodo anti-bufferoverflow, keysrambler, FireLion] Anti Keyloggers
This doesn't mean you need 5 or more extra apps, since many standard antivirus and firewalls have began adding extra features that go beyond basic traditional antivirus features. For example, KAV, FSecure, Panda (none-suite versions), have (1) already. Many firewalls like Comodo firewall pro, Online Armor have (2) already etc.
Also (5) can be covered by both (2) and (3) in many cases, since many in (2) have genetic methods of blocking ALL keylogging and screen capture methods.. But personally i would have a seperate anti-buffer overflow just in case...
Personally I'm not in favour of having anti-spyware, anti-trojans etc (at least in real time, on demand is fine), since when it comes down to it they are using the same techniques as a broad-spectrum anti-virus (or rather anti-malware, since antiviruses today have finally recognized it is their duty to capture malware, anyhow antivirus in it's classic definition is seldom seen today anyway, it's all worms and trojans today!)