story
tl;dr: Abuse ruins it for everyone.
I work on the filtering side of the world so I see a lot of the challenges that even purportedly good actors face. Each provider does better or worse at controlling abuse. These things all have a cost:
* IPs -- You need to send from a variety of IPs. They have warmup time before they can be safely used. One bad guy can burn that IP and everyone who shares. Most ESPs aren't going to have dedicated IPs for each (or those are for high tiers).
* Dmarc/dkim/spf -- Passing validation can be hard since it requires your client to work with you.
* Abuse reports -- Likely huge volume
* Bounces -- They can count against the customer. How much is OK (e.g. AWS SES will cut you off if your bounce rate gets too high)?
* Throwaway account abuse -- Huge issue, this threshold is a simple hammer (so now bad guys need ~10x more throwaway accounts).
* Account takeover -- That good guy is now sending out crap. Now what?
* Post-abuse cleanup -- Good luck going around and working with major providers to get yourself unblocked. Its a huge time sink.
By using Mailgun, etc all of the above becomes their problem. On top of it they'll offer analytics, help crafting content that works in varying mail clients, etc.
A small business type sender doesn't need much of this (other than maybe the technical help). But at some point, the scales tip.