One thing Sendgrid is good at it letting people easily send emails (ie, receipts, confirmation emails, etc.) on behalf of their clients, while still passing SPF/DKIM checks, which Mailgun and Sparkpost make a bit harder. If you're working on a SaaS product that needs to send emails on behalf of your clients, Sendgrid is an obvious choice.
SES isn’t really comparable (a lot more work on your part). Mailgun has been doing some really good work though.
- Compliance - Support - Security (not keeping things secure - offering custom security options. SAML, user roles, permissions, IP whitelisting, etc) - Customization
Building to support big complex customers is hard and if you get it right from a product and sales perspective, the inertia you can build is massive.
Unfortunately, Mailgun is pretty slow to deliver emails, so I use SendGrid to send emails for that.
Perhaps not a huge moat, but there is some secret sauce.