You're describing stores that exist in a competitive ecosystem with price variation. The analogy breaks down because "buyers of products" doesn't map one-to-one with "owners of iPhones" and because distribution of physical goods actually has significant costs.
Assuming you are in fact in the tech industry, you should know that near-zero marginal distribution cost is one of the core principles underpinning software economics.
I'm also not arguing that Apple shouldn't pass some of the costs it incurs to provide apps (e.g. APN, engineering costs, etc) on to developers and by extension on to consumers. But it should be priced fairly and transparently.
A flat 30% fee without the ability to itemize that for customers or signal the existence of alternative payment methods is just wanton, nefarious extortion.
The 'right' solution would be to charge a specific, itemized "Apple device usage fee" that's separate from and in addition to the primary fee for a service itself. Apple deserves to take a portion of revenue specific to the provision of a service to its users. I can't see an argument where it deserves to take a portion of all revenue developers receive.
But Apple is not permitting this because it would pull back the curtain on their rapacious practices and their customers, having already paid a significant amount of money for their devices, would almost certainly be quite angry about it.
Spotify is a good example of the distortion occurring because of this misguided system. They're charging customers $12.99 if they subscribe through the App Store instead of the $9.99 they would pay outside of it for exactly the same service. So, right now, some Spotify customers are being needlessly pillaged by Apple when, unbeknownst to them, they could get the same exact service at less cost. Spotify apparently had plans to email affected subscribers to alert them about this nonsense situation, but I don't know what became of that.