I've personally have worked extensively with MS-Exchange, Courier and Cyrus and, to much lesser degree, Dovecot.
I can say, without a doubt, that Cyrus is my most preferred choice. Back to the original question, any one of these will work fine for small email install base. Small, I mean, probably less than 1,000 mailboxes and less than 1,000 concurrent IMAP/POP connections. Other factors like mail volume play an important role too..
We stood up Email system years ago for our own internal use based on Courier. We're an IT consulting company. Over the years we began taking on hosting of our customer's email as well as selling an EMail appliance comprised of our assemblance of open source projects and management scripts...
About 3-4 years into it, we dumped Courier for Cyrus. We also dumped Sendmail for Postfix. We did an extensive study of all the open source and commercial options at the time and settled on Cyrus.
Totally agree that Cyrus is the most difficult to grasp but I would not characterize it as very non-standard and that being the reason for its difficult understanding. It's difficult because most documentation on the web is out grossly dated and sparse so it takes a lot of digging to get answers. Cyrus, on the contrary, is very RFC obdient. I use to have to figure out why Cyrus seemed broken and found that in most cases it was merely following the standards to the T so well that you soon figure that most everything else is broken instead. As example, I once had to look into a problem where a customer claimed email was bouncing but the email address was correct. Using Outlook, Outlook has this nasty bug where it would capitalized the first letter in an email address. Per the RFCs, all email addresses are lowercase. If you mix cases, you will find many email systems will silently correct for this.
As for performance:
Cyrus, in my experience, has the best options that I don't see in the others. Specifically, you can add more front-end IMAP4/POP3 proxy servers or backend servers to distribute load where needed. This allows you to scale in terms of both concurrent connections (add more front ends) as well as storage and mailbox deliver/retrival traffic (add more backends).
Last time I checked, neither Dovecot nor Courier supported these options.
Microsoft Exchange 2010, recently released, is now introducing distributed & replicated mailbox stores so they are playing a bit of catchup in this category.