If you host your own email, you may need to know more and do more than you think you need to do.
I tried it for awhile, it was easy to set up with postfix.
The problem I ran into is that large services like gmail and linked in would not send to me. They weren't rejecting mail from me; they wouldn't send to me. I think because I didn't do enough with <vague> reputation mechanisms </vague>, but I never really knew because I realized I wanted to receive mail now, not when I eventually worked it out.
That's just one surprising (to me) example. Mail has a reputation for being easy to get started and hard to get right. I think that's a deserved reputation.
I forward my domain's email to fastmail.fm, a paid service. I'm happy with it.
I use a commercial hosting service which includes email. It provides as options SpamAssassin and Spamdyke, which work as well as can be expected. Spamdyke's graylisting does a nice job of keeping out much spam, more effectively than anything else.
The hosting provider provides a web interface in addition to IMAP, but I use IMAP clients, primarily Thunderbird, rather than web interfaces to email.
What the provider does not have, and I'd very much like to have, is IMAP augmented by Sieve.