They're mostly synonymous as they are various forms of malicious software (malware). "Malware" is more broad whereas "virus" and "spyware" are more drilled down types of
- Virus is defined as "the defining characteristic of viruses is that they are self-replicating computer programs which install themselves without the user's consent."
- Spyware is defined as "software that aids in gathering information about a person or organization without their knowledge and that may send such information to another entity without the consumer's consent, or that asserts control over a computer without the consumer's knowledge."
- Malware is defined as "short for malicious software, is software used to disrupt computer operation, gather sensitive information, or gain access to private computer systems."
Generally speaking, the main differences between the antivirus makers is that some actively listen and scan files as they are loaded into memory or visible in the folder you are viewing (MSE, Avast, etc.) whereas, AFAIK, others aren't active and work to rid you of the baddies when you execute them (Malware bytes, most "Spyware" programs).
If you are looking into purchasing some software, I would read reviews on how many resources they require and if you can limit that. I know that MSE is free and you can limit CPU use, in my experience it has been pretty solid. However, at work we have McAfee and my computer is essentially unusable while it is scanning, and domain policy limits my ability to limit it in traditional ways.
It may be a good question (if it isn't already) to ask "How does someone pick a good antivirus software" or something of that nature. If you are interested, please be sure to search first!