Microsoft if putting and maintaining the infrastructure to support the Apps, they ensure the security is there so that they are clean and safe and also ensure that Apps are not pirated. This all benefits the developer so that they can make their money but it comes at a cost which is the 30% take. I can't imagine that you would think Android method is better considering there is no control or protection for the developers and users end up getting Apps with virus'.
That 30% Microsoft charges drops to a lower percentage if the App sells well, this will hopefully entice developers to make useful Apps as opposed to stupid fart Apps. You don't have to be a full fledged programmer to create Apps, even the hobbyist that can do a little programming can make some money by developing Apps. I don't see where the issue is, its a win win situation and that includes the user who has a choice to install Apps or not. Lastly, Microsoft does not advertise in Windows, Ads are restricted to Apps and those are usually free with the option to purchase to remove ads.