Anti-virus, like drugs produced by pharmaceutical companies are good at one thing, treating known conditions effecting us. In anti-virus' case this is known malware and viruses. These treatments are still essential at treating these conditions, and investment in new treatments is also very important.
On the other hand secure coding, development practices and rapid patching of systems is like our immune system, its there to help us prevent the infections from occurring in the first place. And just as doctors provide advice on avoiding situations and preventing conditions which would result in infection, security professional provide advice on improving processes around the management of our environments, and the behaviours of our users.
Unfortunately, like drugs, anti-virus products are promoted as being a cure-all by some vendors biased by the profits to be had in the sale of these products. Doctors live by a code of ethics which prevents them from solely relying upon drug treatments to treat, cure and prevent the conditions of their patients. Like doctors, we security professionals need to provide the best advice to our customers, and ensure that we recognize the clear differences between these controls, and recommend and apply the right amounts of prevention and treatment.