Talking about a "general" security context the common antivirus is dead for at least 10 years. And at the same time, It is difficult how to explain to people that their understanding of things is not exactly "the state of the art".
The old way to protect against attacks relying only on the antivirus engines that uses a database of signatures to detect known malware and the scan engines have started to lose their effectiveness when the malware is polymorphic so that means that the antivirus industry has started to look towards new solutions.
The problem with the scanning engines is that the attacker can easily set up test environments with all antivirus products commonly used and test new malware until this is in contrast to the antivirus scanner. And since the attackers basically have a lot of time, it is certain that they will find the way to change the malware code to not be detected. So, yes, the old way of relying only on antivirus database and the scanning engines is dead. Although some products use scanning engines as a last line of defense and cleaning, we cannot rely only scan engines to provide comprehensive protection.
The basic idea of the protection is to understand how malcoder works. And instead of going to the hunting exploits of the day and the malware of the day after, you have to focus on resources that the attackers need to do their job by denying access to those resources.
Currently, the most effective method is to limit the attack surface. In particular, for example it is necessary to identify the exploit kit or other types of attack through traffic patterns, or simply denying access to Java, Flash, and other elements that are potentially dangerous.
This means that in the majority of cases the attack has no place, because the attacker is not able to send the code that contains the exploits with which he would attack the victim. If the prevention of the contact fails, you have to use methods that detect generically exploits or detect changes in their behavior in applications that are affected by the exploit.
The end is the same, to prevent the attack.