You are confused, Apple in these cases is not publishing anything, it's just processing a payment. Actual publishers might require a 30% fee or whatever, but this can be justified with the need to cover the costs of hosting the media, uploading it to the customers and the whole publishing infrastructure in general.
Apple publishes only the application itself, but this is already taken into account and paid by the developer's license. It does not publish any of the application's contents, so it's unreasonable to ask the same fee as an actual publisher for that.
They can try this only because they basically decided there is only one way for an iOS application to process a payment directly, and that's through Apple's IAP, meaning there is no competition and whatever fee they decide, it's the only option (I don't consider manually navigating to the actual publisher's web store to be a comparable option). If there were other companies handling electronic payments allowed to manage IAPs, Apple would have to lower the fee to stay competitive.
In my opinion Apple's "vision" from the user's point of view is the correct one: every application makes use of the same system to handle payments. No need to give credentials to different companies and such... it would be very interesting. But they messed up the pricing.