It's not just email deliverability. Mailgun's email API is super useful and worth learning because once you do you'll realize you can now do things with transactional emails in your app you never considered doing before. A few ways in which they are better than Sendgrid: (1) much better inbound JSON parsing of emails that can be used with any "route"; (2) On the fly route creation, modification and removal; (3) Pass through routing of individual mailboxes to your GoogleApps account for corporate email addresses. This is better than the Sendgrid approach because it allows you to put Mailgun in front of Gmail instead of the other way around. That could mean a noticable difference in speed of delivery of transactional emails reaching near real time relative to what you'd normally expect with email (<20 seconds).
If you're just sending in bulk, go with SendGrid, but if you want to do anything mildly interesting with email-as-an-interface, Mailgun cannot be beat. I'm honestly surprised it has taken other mail providers to offer these same features.
I just finished my first integration with MailGun (moving over from PostMark because MailGun has a better feature set imo) ... could not have been easier.
They have webhooks built in that can call your application when mail is delivered, bounced, opened, clicked, etc. That's huge for me. I allow my clients to send out emails to their users — now I can use that information to show my clients who has opened which emails ... I can also alert users if their email has become blocked or had a bounced email.
They give you a ton of functionality out of the box that would take a lot of time and effort to recreate on your own.
If you're just sending in bulk, go with SendGrid, but if you want to do anything mildly interesting with email-as-an-interface, Mailgun cannot be beat. I'm honestly surprised it has taken other mail providers to offer these same features.