In addition, the lack of uniformity makes it more challenging to write an Unix virus. You'd need to have the worm recompile itself on the target machine, as did the Morris worm in 1988. That greatly increases complexity and cost.
Many Windows worms target a specific client/OS pair. That means the worm will require you to run, say, Outlook Express and Windows XP. That sounds pretty specific, but the potential target size is so huge that the virus author can allow itself to be that restrictive.
Let's imagine a disease that could contaminate only one human being out of a hundred.
How fast do you think the disease would spread compared to one that can infect ninety human beings out of a hundred?
Why bother write a malware that has got - even if it's perfectly written - an order of magnitude less chances to spread?