Well, let me first put some definitions on the table:
Virsus A program or piece of code that is loaded onto your computer without your knowledge and runs against your wishes. Viruses can also replicate themselves. All computer viruses are manmade. A simple virus that can make a copy of itself over and over again is relatively easy to produce. Even such a simple virus is dangerous because it will quickly use all available memory and bring the system to a halt. An even more dangerous type of virus is one capable of transmitting itself across networks and bypassing security systems.
Worm A program or algorithm that replicates itself over a computer network and usually performs malicious actions, such as using up the computer's resources and possibly shutting the system down.
syscalls The system call is the fundamental interface between an application and the Linux kernel. As of Linux 2.4.17, there are 1100 system calls listed in /usr/src/linux/include/asm-*/unistd.h.
Well now that we have the definitions let's go at it. Windows and Linux are two different operating system, with two different audiences for them. Windows is easier to install. It comes preloaded in many computers, that's how gradnma/pa where able to get email. They didn't have to learn how to install the operating system, they just got a something that worked out of the box. For jimmy the computer savvy of the house, that's only interested in computer games, he doesn't want to fiddle in learning the internals of the OS, so he is pretty happy with just having to put in the Windows CD and following the instructions on the screen. On the other hand, for most linux users, the OS didn't come preloaded in their computers, they were interested in learning something new including the internals of their OS. They have to do a lot of reading and figuring out on their own. Because of it and the nature of linux they are more involved in the decisions that the operating system makes for them during the install and after the install (of course it varies depending on the linux distribution).
Because of the difference in audience that windows and linux has, windows has made a lot of assumptions for the user, at the expense of security. Windows enables a lot of services by default, and has a not always very secure configuration. In linux, you may be able to easily able to install and set up a program, but often times depending on the application that you are setting up you have more involment and decision making to do.
The linux security approach is very strongly tied to the unix multiuser, multitasking nature. For example in earlier versions of Windows, multiusers were a joke, and anybody had rights to do anything within the different directories in the hard drive. In *NIX, you have this thing called multiusers, which forces you to create more than one account to make things more secure. In *NIX you have something called "root" user which is the superuser, and it is the only one allowed to run certain processes and programs, and has access to the whole partition. The regular Joe, has rights to very few directories, thus if Joe were to get a virus he could only spread it to himself and the things to which he has permissions. Actually there are websites to write your own linux viruses, which are harmless. In Windows it is completely different, it is so easy for Joe to click on an attachment and infect the whole hard drive.
Another way of a computer getting compromised are exploits, which are through system calls that directly interact with the kernel, and that is what the base of the big vulnerabilities in Linux such as the problem that they had in kernel.org with the sources of the kernel that had been modified a little in order to create a vulnerability in the kernel. Another way to compromised is through vulnerability in the different applications that you have installed. But at the same time you have thousands of programmers around the world working to make this applications better. Thus on a daily basis you get updates that closes different application vulnerabilities in linux, thus making it more robust.
In Windows, you don't have to get as fancy to crack the computer, it is more widely used, and it is easy to try to look at the different services that the computer is running (look into nmap). Windows machines are more easily cracked because of all the services that are not locked down which is running.
Linkies:
http://www.insecure.org/nmap/
http://www.snort.org/
http://www.lwfug.org/~abartoli/virus-writing-HOWTO/_html/
http://www.sfu.ca/~siegert/linux-security/msg00179.html