> goes into branding...which Linux doesn't have any reason to pursue.
I strongly disagree, though I suspect we have a different view of what "branding" is. Branding isn't just logos and advertisements. Branding is creating a certain intuitive impression in the minds of prospective customers and partners. This can often involve serious technical investment. To give a specific example, look at the company DigitalOcean. They try to maintain a brand of "easy to get set up and learn how to do stuff". To do this, they pay people to write good tutorials and they spend a lot of effort designing their user interactions.
As a result, when run into someone who wants to learn how to set something up on a Linux server, I point them at digitalocean. Yes, their branding involves some nice graphics, but it also involves solving problems for their users.
Windows at times spent a lot of effort on solving engineering problems in service of their brand. http://www.joelonsoftware.com/articles/fog0000000054.html
Canonical actually spent a fair amount of engineering effort on branding for Ubuntu, but they just didn't have the resources to create a clean experience around things like wifi and peripherals (at least by 2013, when I switched to OSX).
Linux other hand is very good for developers, sysadmins and technical people. This is mainly because its created by them for them.
Microsoft has added value for business because of this focus.
When you take my full proposal, which is that perhaps 10% of the money spent on Windows were spent on Linux instead, I think that 10% would go very far toward making Linux cheaper than Windows even if you discount fees. Keep in mind that a lot of the money put into developing Windows goes into branding and creating vendor lock-in, which Linux doesn't have any reason to pursue.