I think this is why so many developers have switched to Macs. Development on Windows sucks (in my opinion, of course, unless you're making Windows applications), and with OS X you get the best of both worlds: the power and flexibility of BSD, along with great desktop applications and a nice day-to-day user experience that "just works".
Do I really want to worry about what sound driver I'm using, when I have clients waiting? Not so much.
Why does development on windows suck? For the most part, development on any platform (windows, osx, linux) seems to be about the same. Its the other stuff that can get annoying; mostly driver issues I would guess. But again, that's something that isn't a challenge on windows anyway?
For me it's mostly the ease (or lack of ease) of managing tools and dependencies. Homebrew, RVM, Pow, zsh, MacVim (or TextMate if that's your thing), et al. are amazing, not to mention all of the built-in packages.
I'm aware that some things are usable via cygwin, but in my experience it's a huge pain and doesn't work with a ton of stuff I need anyway. I really don't like spending time futzing around with things if I don't have to, I just want to be able to "brew install redis" and be on my way.
Arguably, tools and dependency management is better on a linux platform.
I've found (recently) that working in a VM is the right thing (tm) to do even on a *nix platform. It helps keep your development environment completely segregated and your "desktop" OS clean as well. Since nautilus has built in support for mounting a drive over SSH, and it is very doable on os x using something like MacFusion, the desktop OS just becomes a window into your development environment and becomes mostly secondary.
Do I really want to worry about what sound driver I'm using, when I have clients waiting? Not so much.