I want to be in complete control in my production machines (aka servers) not in my development machines. When I want to code I want to get it with the minimum hassle.
It's not exactly tough to code on Linux, so it's not an 'either or' proposition. Furthermore, you get the added bonus that if you set things up right, you can have very similar environments on your desktop and server.
And even on your desktop, there are good reasons to have more control than Apple might allow you to have. Steve Yegge's focus follows mouse rant is a great one: