Viruses and worms are HEALTHY for the world. Sure, the nasty ones are bad, but if there were no viruses the world would be less immune. I enjoy seeing popular programs becoming effected on a large scale because it forces the creators of those programs to take responsibility for the security hole that made them possible. It also means (usually) that programs will be fixed and become stronger (more immune) than they previously were.
The majority of the time, the problem can be avoided by simple user education and prevention. Most computer users are not educated and they don't care to become educated. There will inevitably be those users who will click a link in an email no matter how suspicious it looks, or freely provide any password to whomever calls themselves "tech support".
The key to better, safer computing is as simple as good user education. Fear can be a powerful tool. I like to use a bit of scare tactics when teaching users, warning them that if they don't do step A every time, they are likely to catch a virus, lose all their data, and ruin their computer, or in the case of an office, their entire company. Telling users a quick social engineering story about how someone can "pretend" to be someone they are not also helps. It opens their mind a little so they are less trusting to people asking for information related to the computer. Most people simply don't look at things from the "other" angle.
Installing anti-virus software helps to both make the user feel more secure and helps remind them viruses exist out there. Spyware is another one of those things that can be avoided 90% of the time by simple user intervention. I don't have any spyware on my computers. Why? Not because I run tools to remove spyware every few days, but because I know what things not to download. I rarely click ad's I see online, never touch programs advertised as "FREE", and probably most importantly, I use Firefox exclusively on all my computers.
If there is one thing you can do for an uneducated computer user, you should install Firefox for them, apply a Internet Explorer-like theme such as Luna Blue, set Firefox as their default browser and show them how they can still use Internet Explorer if a specific site doesn't seem to work right in Firefox. I also place a shortcut to Firefox on their desktop and change the icon to the IE icon. It's amazing how many people associate that blue E with "the Internet".