In the beginning, the locos didn't overbook. They had been paid for the seat, only loss was any on-board sales and perhaps baggage charges.
Then they discovered they were leaving passengers behind who would have paid last minute prices for those seats, and buy on board and perhaps baggage charges.
Mega-investments in revenue management software to produce perfect results. As with network airlines they do get it wrong every once in a while.
In principle I agree it is a pity to let a seat go empty, but the industry needs to get better at solving these problems before the paxs get to the gate. E-mail or text auctions, for example, 12 hours before the flight.