Well, I disagree... You can't just apply generic business logic to every business situation. There is something in economics called positive or negative externalities, e.g. side-effects that are caused by a product that might be harmful to someone or something.
A toothbrush is a product, and electricity produced by a nuclear power plant is a product, but the latter produces nuclear waste as a side-effect that will be causing a headache for our progeny for tens of thousands of years. So you can't just leave it up to the companies or the markets.
The recent economic and financial crisis is another case in point. Businesses (such as the banks) were happy to privatise the gains from being an essential service in society, but then expect to socialise the losses, relying on the taxpayer to bail them out, when things go pearshaped. They are the biggest socialists around when it comes to saving their arses.
Microsoft and its shareholders became fabulously rich by fundamentally changing the way the world operates. They literally changed reality. They have effectively changed the plumbing of the world. So when things start to go very badly wrong due to their past actions, and it is in their power to prevent things from going bad (by not abandonding support or not withholding solutions that are available and would really cost them very little, other than the opportunity cost of pretty much extorting money from those who can't upgrade for one reason or another), then they are responsible for the negative externalities they have apparently intentionally created.
Proof:
Microsoft held back free patch that could have slowed WannaCry - FT.com (sorry, paywall)
Microsoft held back from distributing a free repair for old versions of its software that could have slowed last week’s devastating ransomware attack, instead charging some customers $1,000 a year per device for protection against such threats.
....
The company issued a free patch in March that would have protected computers running recent versions of Windows from the malware. But users of older software, such as Windows XP, have to pay hefty fees for so-called “custom” support.
The cost went from $200 per device in 2014, when regular support for XP ended, to $400 the following year. It jumped to $1,000 after that, according to one person who had seen a pricing schedule that Microsoft sent to one customer, with a minimum payment of $750,000 and a ceiling of $25m.
P.S. And it's not just Windows XP:
In another controversial pricing move, meanwhile, Microsoft recently began charging customers more for extra security in the top-of-the-line version of Windows 10. The split pricing marks the first time the company has treated the highest level of security as an add-on feature of its software, drawing criticism that it has left other versions of Windows more open to attack.