Why? in-app purchases give you the ability to enable extra features in an app without having to blindly buy all the features. It's giving you choice.
As for Apple taking a cut of the transactions that makes sense. They've cultivated the app stores and have millions of users with Apple ID backed via credit cards. Why would they let companies come to the table ..get free marketing and cut them out of the process.
The choice is rather simply. Gain access to millions of customers who are proven to spend on technology for a 30% fee or take your business elsewhere.
In App purchases is a rip off to the dev.
If you read the requirements the devs are required to support everything for uploading the new content to the iOS device or have it built in enabled in the app.
Apple is taking 30% to be nothing more than a credit card processor. Tell you the truth they are worse than a credit card processor because they block even more information for the supplier.
30% is way out of line for nothing more than a bad payment processor. Credit cards take 2-3%. So Apple charging 5% would be much more reasonable rate for what serve they are offering.
If Apple allowed you to use outside payment collection then it would be fine. They would then at least provide options but the current system is pretty much a Apple being like the Mob demanding a huge cut for "protection"