Re: Wait.... what?
Having used most versions of Exchange since Version 4.0, I'd disagree with you. Exchange has at least one serious architectural issue.
Setup is certainly easy, as is day to day administration due to its integration with (or reliance upon) Active Directory. But Exchange has always had issues with its storage systems. In the early versions they were fragile and slow, and in the current version they're just slow.
The other product I've used for email was Lotus Notes. Which is much maligned, but has an excellent storage system. I've managed servers with over 1200 mailboxes on them and there were no performance issues. We migrated the users from those servers to Exchange, and newer and more powerful hardware managed the same number of mailboxes - but only because of cached mode in Outlook. If we turned that off, it couldn't cope. For reference, Notes does no caching.
That's been my experience with Exchange at every step of its life - the storage is the weakest point, and is a considerable weakness.
Microsoft have had 25 years of development, and gone through at least one major redesign of the storage system, and yet it's still not good enough. I still have my phone's Outlook app ping to say there's a new email and then the email arrives a short while later in Outlook on the desktop. It's a small and constant reminder that the Exchange storage system is not up to scratch.
In most other respects Exchange is fine. Not brilliant, but fine.
(Oh, and with regards to PowerShell - yeah, administration via PowerShell can be lovely. Though I'd still like to have words with the twit that decided on its typing system. The bane of any work beyond the basics is almost always that you'll end up dealing with loads of data types that should be interoperable but aren't - like AD group members and Exchange Distribution group members. I swear if I took a profiler to some of the scripts I've written they'd spend most of their time storing $_.Name as a string so that I can do a comparison without getting a type error! It's not insufferable, just annoying. And partly a problem because Microsoft's own teams can't agree on some kind of standard object type for users, groups, group members and so forth across their systems. Still, it keeps us all employed!)