We don't use Linux for several reasons:
We are already a mixed shop with PC's and Macs. Adding a third platform would really complicate things.
We have line-of-business machines that will never be able to run Linux. And we need these machines to do our business.
We have video editing and CG applications for which Linux will not do the job. The people who use these apps are not computer geeks and are in some cases barely video proficient so it's iMovie/Final Cut for them, full stop. It is not acceptable to say "that almost works" or "it'll work someday, here's a C++ compiler, go work on it.!"
Many Linux consultancies, and indeed, much of the Linux business itself, are not aimed at small shops.
The last reason is community. We run Windows SBS. All of us who run Windows SBS shops essentially know each other; it feels like a close-knit community, even though SBS has been a popular product for over 10 years.
Linux is undeniably popular amongst geeks; I have tinkered with it off and on for all the years it's been around.
"Community" is much-touted for Linux. Yet, I've found much of the Linux community to be insular; by their own words, "they scratch their own itch". Too much of the community hears a problem and says, "Oh, here's a compiler, go fix!", as if coding is the whole thing.
In my town, I sit on a commission for people with disabilities. It is a high-profile job and everyone knows I'm on it and they know where I work and what my IT shop is like. I have been grilled at meetings for our choice of IP phones (the phones, by the way, are completely accessible for people with hearing impairments; I know this first-hand, that's why I picked them.)
I criticized ESR for saying, once, that it was better to focus on the needs of the many "regular" people than it was to serve the needs of people with disabilities.
Linux, of course, has accessibility code in it, but it was donated to the community; most of the community would have never thought of that. Imagine telling your accountant who needs large text, "oh, but there are many more people with good vision".
That would get us sued. ADA compliance is an important part of the workplace.
What the Linux community does, and what sysadmins need and what their companies need, are not at all the same, and so far, the Linux community doesn't have the introspection to realize this.
If Exchange goes down, I have resources to call upon, and others in the community who've been there and can help. Then, failing that, we spend the $250 for Microsoft but they will stay on that one issue and fix it (I have never had to do this in ten years of being an admin.)
Linux? I can hear the responses, "Oh, get a different distro! Why don't you write up a patch? You didn't need that working anyway, do something else!" And it's not true that it will be "free beer"; I expect to have to pay for an SBS or an Exchange replacement; can they give me that same support? Will we pay for a support contract and be told, "here's the compiler--make your customizations"?
Once we have to pay for contracts, justification for Linux becomes a lot murkier. I'm aware of the difference between the "free beer" and "free speech" tropes, but it seems many Linux advocates, even in this thread, seem to gleefully conflate the two.
It's more than just "use xxx to replace yyy", it's the whole ecosystem and it's just not a good fit for us.