I started my professional career developing for Sun workstations, then various Unixes, and for the past 14 years, Linux. Initially, it was just easier to use Linux as my desktop development environment, as my toolchain is here and I'm more familiar with the Unixy way of doing things. Besides, Windows was unstable and not very pleasant to use.
Nowadays Windows seems a lot more stable, and there are better tools for working cross-platform and/or over a network from a Windows desktop. But Linux GUIs have improved too, and I pretty much hate it when I occasionally need to use OSX or Windows machines. They're ugly, difficult to use, and generally less functioanal than my Linux environemnt. I could probably tweak them to make them friendlier, but why bother?
A lot of developers seem to use Macs, but the single-menu interface drives me crazy. It really doesn't work if you have multiple monitors.