It doesn't seem entirely different to me at all.
You seem to be saying it's fine for a massive conglomerate - whose first duty is to its shareholders, their dividends and bottom line profits - to keep cancellation monies, but "crappy and not OK" for a small business - who usually look to please it's customers first before it looks at it's bottomline - to refund theirs.
If you book something and don't use it and it can't be resold, why shouldn't you lose your money? It wasn't the service providers fault you can't fulfill your side of the agreement, however sad or real the reason is. If you want to safeguard against unforeseen problems take out travel insurance, or take your chance - but don't take your chance and then expect your service provider to offer you free insurance by underwriting the loss themselves.