Last updated 2005-03-13: please be patient i in the process of rewriting this leading writeup. i promise it will rock your socks off.

That frequently fails to due to the polymorphic properties of the viruses and their creators.

There are two types of anti-virus programs available: pattern recognition and heuristic.

Pattern recognition be the most likely to fail due the dynamic nature of viruses, as in their can be modified to become a different strain. They require frequent updates but will never protect from the latest and greatest virus that are in the wild.

Heuristic based detection is still in it's early stages, because it is so closely tied to artificial intelligence. The current status quo on that topic is most definitely: "C- -- could do better!"