Eset NOD32 is certainly not perfect, but I still think it's more
effective than anything else.
Antivirus software relies chiefly on recognising code fragments, or signatures. Without regular and timely updates, it's useless. Eset is fast and consistent in updating their virus signature lists (it's not unusual to see two or three updates in one day), which is why they score so well on "in the wild" viruses in the Virus Bulletin tests.
They spend far less effort on "zoo" viruses, which is what antivirus programs used to be tested against. If you want to detect zoo viruses, get Kaspersky. Personally, I'm only interested in viruses that are catchable.
Eset has also been making a big noise about heuristic detection, i.e. if a file smells like a virus, it probably is one. They claim this has detected some major viruses without signature updates.
So here's an idea: what if we had a time machine and could test antivirus programs against future viruses that don't yet exist? Well,
this site has actually done it - by freezing signatures, waiting three months, and pitting the A/V programs against new viruses!
(see November 2004 Retrospective/ProActive test)
In the past few months, Eset has greatly improved trojan detection and removal (unlike Norton, the software can be upgraded as part of the automated update). If you're feeling paranoid, you can also change the settings to increase heuristic sensitivity (plus tell it to look for spyware attributes, although this may yield false positives).
Finally, although not as fast as it used to be, NOD32 has very low impact on a system and I consider it to be one of the least invasive A/V programs on the market (unlike F-Secure, which stunned me with the amount of resource-eating crap that it installed).