It might be because of how airlines price tickets.
For a 10 hour flight that costs $500 (economy) it will cost +$80 1-way to pick a seat. Not a special seat, just a seat in general. An exit row seat costs +$160 1-way.
So why are business class seats filled if there's plenty of economy space left? Surely all those business men spending 5000$+ for an overseas ticket are voting with their vallets for the 500$ one?
Or maybe the reality isn't as simple as you make it seem?
In practice people in general vote with wallets for cheaper sardine-like flights.
(though more spacious seats typically can be bought)