AVG and Avast are just about worthless. I'm not sure what everyone means when they say that a program is "good" or "works well"... just because it looks nice or works fast means nothing. What has it detected? How do you know it's actually working or that it will pick anything up?
In head-to-head tests AVG and Avast come in near-last.
I've done my own testing too, by infecting a test system with two worms. AVG and Avast picked up nothing.
Antivir 7 was great in that its resident program would not so much as allow me to right-click a file that was infected. However it completely missed a file infected with VD.B, even when I explicitly scanned the file.
NOD32 was was good and picked up VD.B but its resident program was not nearly sensitive enough. It performs scans too late, and doesn't pay enough attention the files that the user or processes are working on. It also missed and infected file within an archive, which AntiVir 7 picked up. It scans for Alternate Data Streams and scans those streams as files during regular scans, which is a major plus.
Neither one can perform an actual full file scan prior to OS loading though, which is something that only Avast is capable of. However Avast sucks, it looks pretty and has great functions but it picks up nothing but the most obvious threats. It doesn't even alert the user when its boot scan was unable to open a file -- which is a sure sign of a suspicious file; all files should be scannable prior to OS load. I had to look at the logs to see that two files were skipped due to this, and both turned out to be infected.
Nothing, including Avast (which is supposed to have a 'module' for precisely this) picked up the fact that I was downloading a worm-infected file to my secondary hard drive using Bearshare.
I haven't had a chance to test Symantec or Mcaffee with these worms, but I really hate those programs as they tend to "take over" your entire computer, and if you do anything more intensive than internet browsing and emailing, your computer is too bogged-down to function as fast as it's supposed to. Not only that, but they install so much crap, so many registry settings, startup processes, and memory-resident programs, that they only make it harder to figure out what's supposed to be there and what's not.
Symantec and Norton also lack the ability to perform pre-OS boot scans, can't scan the System Volume Information folder (NOD32 can, Antivir can't), and have sluggish on-demand scans that don't provide the user with enough information on what it's doing or when it will be done.
In conclusion, all antivirus programs currently suck, but NOD32 and AntiVir 7 are my choices for best-bets, and I keep Avast around for the occasional pre-OS scan.
A good antivirus program should scan everything that's currently getting written to any area of the drive and anything that gets sent in or out. It should be able to scan pre-OS (which Windows XP is specifically designed to allow for). It should always scan for Alternate Data Streams and then scan those streams for threats. It should be able to scan System Volume Information and not make you turn off System Restore in order to get rid of a virus (which Symantec retartedly requires you to do). It should also make sure to alert the user when it couldn't scan something.
Anyone knows of a program like that, be sure to tell me.