I've been involved with handling desktop security for a number of corporations, and by far my biggest problem is educating users that most of the products and habits they use are worthless.
By far and away the most effective way to secure a Windows box is to avoid using an admin level account whenever possible. This rule supercedes any idiot belief in software firewalls and spyware/virus scanners, which accomplish little other than make software companies lots of money. Yet, I've aleady several posts in this thread equating Malware/Spyware with firewalls when neither have anything to do with each other. As long as this is the case, and we have 'tards who refuse to update Windows with security updates for fear it might break their stupid 3rd party software firewall, or think a software firewall is also a content filter, then malware writers will always have a job.
Contrary to urban myth, a fully patched Windows box sitting on the internet without a firewall is not in danger of being hacked. Hackers go after open port 25 relays, unpatched SQL services, things they can make money with, etc. If you aren't running these type of backend services on your machine, then the need for software firewalls becomes greatly diminished. Anybody who declares the value of software firewalls as being usefull because they can sometimes detect problems via outbound activity needs to be slapped, and denied a job from ever working in the IT industry. If you are that mentally incompetent as being unable to prevent this garbage from getting on your machine in the first place then you shouldn't be allowed the admin password on any computer.
If 75% of Windows desktop users were to use a non admin account 75% of the time, McAfee, Symantec, and pretty much every malicious code writer on the internet would go out of business in a month.
As for note, running Internet Explorer inside of a non-admin account pretty much renders it's security problems inert.