In short, any operating platform will and does have exploits (even cellphones).
While there are tons of linux/unix/mac exploits, most of these are negated by the need for root access to do real damage to a user’s system. In addition, virus programmers will tend to target the platform with the most targets (i.e. the most popular) such as Windows XP, vista, etc.
As a common unix convention, a user running a virus must have complete read/write access to the files to be deleted/messed up. Because most of the system files (in fact everything outside the user’s home folder, in linux) requires root access to be modified, the virus will likely have little success. In addition, linux users usually use alternatives to becoming a full-fledged root user such as “sudo” that limit the amount of commands that can be run as root withut explicit user permission (usually typing in the password at a prompt).
So basically, the lack of viruses for linux/unix stems from the face that the vast majority of viruses target windows systems, as well as the whole root user thing.