Mail.app, the built-in mail program that ships with OSX is not too bad, overall. It has some really nice things it can do, and others which you'd expect of a basic mail app that it does in a nice way. One thing about it, though, that I have to run up against every day, sucks in ways that are so phenomenal you'd think it's on purpose.
That one major flaw is thus: checking mail when it starts up.
You'd think checking mail falls in the "basic functionality -- don't screw this part up" category for a mail application. Particularly when the app is first starting up, you can imagine the users are in something of a hurry to get their day started and they want to know if any fires came up over the night that they have to put out first-thing today. Clearly this is not the use scenario that the developers had in mind when they wrote Mail. I know it's not just me, since I have spoken to other people who use it similarly to me and they all report the same problem. When you have Mail configured as an exchange client, the initial check on startup can take a bit longer than expected. Subsequent checks once it is up and running are fine, they go nice and quick. It's that one first check of the day that really kills it. And the real pain, is that no matter if it got all the new mail or not, it waits till the entire checking process is done before it will show you any new mail that has arrived.
How bad is it? Try an hour.
I am not kidding, I just timed it. I got here at about 7ish, opened mail and then started browsing some websites. I made a purchase on some site that said they'd email me a receipt. I glance at mail and see that it is still doing the morning check, so I figure the receipt will show up eventually. That was at 7:12. Just a few minutes ago, at 8:10 mail finally finished it's check and displayed the 6 new messages that I had received till then. One of which is my receipt -- with a "received" time of 7:12 just like it should be. So yeah, it can take up to an hour for Mail to finally finish whatever it does on the first check and show you any new mail for the day. Let's hope none of those messages required your immediate attention, since you're not going to see them till you've been at work for at least an hour.
For comparison, Outlook can check my account and get new mail to me in a matter of seconds. It may be doing all sorts of stuff in the background still, but the end result is that I get to see new mail immediately and I can get to work right away. Mail makes me wait an hour before I get to see if there is anything that needs my attention.