There are several reasons why Linux-based systems are often considered more secure than Windows systems.
One is the skill of the owner. If you walk into Best Buy or Wal-mart (here in the US) and buy a computer without thinking about it much, it will run Microsoft Windows. That means that there are immense numbers of Windows systems run by people who have no clue. Since almost nobody buys an Linux computer by accident (at least since Microsoft counterattacked on the netbooks), most Linux users either know something about computers or have had their computer set up by somebody who does. This applies to all environments where you get people who don't know what they're doing; the ones who don't are running Windows, and the ones who do run various different OSs.
One is the number of attackers. Microsoft Windows is a much more attractive target, because of all the badly administered machines out there. There are plenty of high-value Linux targets, but they're generally well administered (along with lots of the high-value Windows targets). To a reasonable approximation, nobody targets Linux computers in general.
One is the culture. In any Unix/Linux environment, there is a clear distinction between root and user accounts, and in almost all cases people work in their user accounts when they don't need to be root. The distinction is not, in my experience, as strong in Windows environments, in that each user will normally have one account, with whatever privileges are associated. I'm on my work computer now, where I have one account, an admin account. Everything I do is done by an account with high privileges. When I go home to my Linux box, I'll do almost everything in a limited-privileges account, and escalate when I need to. My wife had to argue hard to get two accounts on her computer at work, one her normal admin account and one a limited-privileges account so she could see if regular users have the privileges to run what she writes.
One is backward compatibility. While Unix didn't start out as a secure OS, it got security early on. Programs for Linux do not require running as root unless they actually do root functions. Windows, on the other hand, runs a large number of programs that require admin accounts because that's what the developers ran and tested on (see above paragraph), and those developers were usually not security-conscious, and that used to work just fine. That's the big problem Microsoft was trying to solve with UAC. I don't think it's a particularly good solution, but to be honest Microsoft isn't going to find a good solution here (I don't think dropping backward compatibility is a good solution here).
These lead to the fact that most large-scale security problems will be on Microsoft systems, regardless of the merits of the security models, and the perception that Microsoft gets the big security problems. By the availability heuristic, the fact that people can think of more Microsoft security problems biases their judgment.
Those are, in my opinion, the valid reasons. I haven't touched on actual OS security, since I don't know that either Windows or a Linux distro is more vulnerable than the other when run by a knowledgeable admin. Linux has the advantage of open source, in that anybody can find and fix bugs, while Microsoft has instituted security practices that may or may not work better. (If I wanted to run a really secure OS, I'd pick OpenBSD, an open source OS that strives to be secure.) Both OSs have good permissions systems (my preference is the Unix one, but other reasonable people disagree).
There are, of course, bad reasons for considering OSs less secure. Some people have a favorite OS, and waste no opportunity to badmouth other ones. Some people dislike Microsoft or Richard Stallman or some other person or organization, and denigrate the associated OSs. Some people haven't noticed that Microsoft has changed over the years, since it wasn't all that long ago that Microsoft really didn't care about security, and Windows really was less secure than Linux.