It is very difficult to distinguish between a computer Virus and Spyware (or Malware). The antivirus software companies and the antispyware companies know the difference. There is no difference to an end user. Both/all of these are programs that are installed on your computer by you that you probabaly don't want to be installed. They get installed either by tricking you into installing or by taking advantage of some vulnerability on your computer. There are many, many methods of infection and it is nearly impossible to determine the source.
If we have to recommend one software above others, we have had good success with Spybot Search and Destroy. It can be downloaded from the following URL:
http://www.safer-networking.org/en/index.html
Spyware detection software has certain limitations:
The best way to protect yourself from Spyware is to figure out how you are getting it and avoid it. It is 100% certain that you are installing it yourself even if you are doing it unintentionally. Some types of software to be suspicious of are:
Certainly there are programs that fit in this list which do not infect your computer with spyware, but if you have a recurring spyware problem, you should take a close look at everything you are using.