No missing features. There's lots of competitors out there like Zimbra, but they're all offering essentially the same functionality as Exchange, just with evolutionary improvements. There's no painful unsolved problem to drive customers to a competitor.
Network effects. There's a massive ecosystem of other devices and applications that are designed to work with Exchange, most notably Outlook. There are solutions like add-ins that let you use some of these tools with other servers, but that adds a massive cost for installation across an organization above any server change. Standardizing on Exchange lets you work with the rest of the world without worry.
Widely-known skills. The sheer number and long history of Exchange means there's a large pool of people capable of administering it. That also means there's a lot of training and reference material available to sort out any problem.
Cheap. At a few thousand dollars for the base server, and then between $70 and $100 per client, Exchange is not a bank-breaking cost for most companies. It's Microsoft's big success in the enterprise infrastructure world, helping drive adoption of Sharepoint and other services, so I expect they'll keep it low.
Mission-critical. There's no compelling reason to switch, and email uptime is crucial to any business, so the costs of experimentation are high. If it ain't broke, don't fix it.
I do think there are trends that may give Exchange a bloody nose, and I'll cover those too in a later post, but anyone looking to change email in the enterprise has to first acknowledge its current strengths. For most people right now, buying Exchange is the rational thing to do.