All AV or other security programs can have a failure rate, probably because of the reasons mentioned in the quote posted by CylonRaider, so changing one AV program for another is unfortunately not an absolute guarantee that the new program would never let an infection happen.
I do think some programs have less of a failure rate than others though. As well as taking note of personal recommendations for programs, perhaps also look at some security program comparison sites where they throw samples of malware at various programs to see how well they do. It can all help to form an opinion of what programs of this kind are best:
www.av-test.org/en/tests/home-user/ (once on the page, click on the operating system being used)
www.av-comparatives.org/dynamic-tests/ (click the 'graph' image)
www.virusbtn.com/vb100/latest_comparative/index (click the graph to zoom)
Because all AV programs can have a failure rate, it's maybe not best to rely on this alone. Use a few different layers of security. Then, if one layer doesn't detect or block a threat, another one hopefully will.
Consider using a DNS server that filters out malware sites. This is good because it doesn't involve installing anything and therefore uses no system resources. Filtering is done at the server side. All that has to be done is change a few numbers on the computer so that sites are provided by a different DNS server than the one provided by your ISP. Comodo SecureDNS is one service that offers this. It has a blocklist of harmful sites. Other services are to be found. Changing the DNS server to one that filters harmful sites is a layer of security worth consideration in my opinion.
Another option is to use a sandbox to run browsers and untrusted programs in. If malware is come across, it doesn't get out of the sandbox to infect the system. Empty the sandbox and it is gone. As said, programs can have a failure rate but using a few layers of security that take different approaches to protection should be better than just using one.