Mostly already mentioned I guess.
Bag fees is the answer. And people who’d rather screw over the next person by putting everything into the overhead bin (jacket, backpack, whatever) that should be under the seat.
People don’t want to pay to check more bags, so they cram as much as they can into anything checked and then the rest into a carry on (assuming they check anything at all). These over-stuffed carry-ons have to then be shoved into an overhead bin, and once the bins are full, the airline will gate check it to the destination. Now you have to wait at baggage claim for your bag along with the fear that for whatever reason it won’t make it. People don’t want that, so they line up to make sure they can put all their stuff in the overhead bin.
So there’s everyone filling up the overhead bin with purses, backpacks, and whatever other items that should have been placed under the seat in front of them. Yeah, I get it, space is tight. No, airline travel will never be like “the old days” when you can spend $250 or less round-trip today to cross the US and back. You wanted cheap, you got it, along with commensurate service. It’s no secret that space is limited. However, IMO those people are dickheads for forcing fellow passengers to check a bag because they take half the bin for all the stuff their cheap asses didn’t want to check while they simultaneously complain about the service they wanted to pay bottom dollar for.