Traditionally, when an individual or company had their own server, it only made sense to also have their own email system. While web-based services existed, they usually required you to have an email address with email@example.com rather than firstname.lastname@example.org.
Nowadays, many cloud email service providers offer domain-name capabilities, so that your emails appear to be sent and received on your own domain, even though you are using their servers. Nevertheless, there are still plenty of reasons why you still might want to use your own servers. Here are a few reasons in favor of both options.
1. You decide what features you want without having to wait around or beg for new features from a third party.
2. Private data stays locked away on your servers
3. You can use free and open source software for greater transparency
4. It is usually easier to migrate to a new system
1. You do not have to worry about fighting spam, upgrading software, or other maintenance
2. Good providers may offer functionality and speed that you could not get yourself
3. If you rebrand or otherwise change your current setup, it may be easier to adapt your email system.
Choosing the right one will usually depend on how much you can afford, the size of your user base, and the amount of technical support you will require. In some situations, you might even find it useful to use a combination of both.