Multiple reasons, but here are a few of them:
- Email is hard to get right. There are many subtle configuration mistakes you can make, and it's pretty hard to detect those mistakes (hence one of the reasons why I started Mailhardener)
- Your users will have high expectations. For email to be used effectively users expect email to work on many devices, have a webmail client, calendar integration, a good search function, good spam detection, infinite backups, ability to have huge attachments, etc, etc.
- Your spam filter is never going to be as effective as that of the big email services. They have ML based spam filters that are constantly evolving. Even if you were to have access to their ML models, you wouldn't have enough data to effectively train that model.
- Hosted email solutions are almost always more cost effective, regardless of the size of organisations. Running and maintaining an email service is labour intensive.
Of course, there are also many legit use cases where you want to run your own email server. But for >99% of organisations, it just won't make any sense to run their own email.