The software stack argument would be fine if there was an alternative. There isn’t. For one reason or another apple says everyone needs to use their stack. When people buy apple devices they’re buying that simplicity and security that comes from apple controlling the whole software stack. If they want that “feature” they can do that but then to charge developers for it when they can’t use an alternative I find ridiculous.
I find the marketing argument silly. All apps pay the fees (well paid apps). Not all apps are promoted (almost by definition). You’re not paying for marketing. You could stretch to argue you’re paying for a slim chance to be promoted, sure. I think that’s a weak argument however given there’s millions of apps and only a couple featured at any time.