* Apple's payments API is very difficult to work with, especially compared to something like Stripe.
* Developers cannot disable their customers' subscriptions, or offer refunds. This has to be done through Apple. The leads to a poor customer service experience.
* If the customer uses their subscription through your website or moves to Android, they're still locked into the iOS subscription - making it impossible for them to upgrade/downgrade their plan.
* Customer's subscription is tied to their iTunes account. This leads to confusion if they sign into your app while signed into a different iTunes account.
I could go on. But having implemented Apple's subscription API, the frustration goes way beyond just the 30% fee (which is really my company's problem, not mine).