While I do agree that this is an awful way to treat your customers, I have seen quite a few people going bananas over United's overbooking strategy. "Didn't he pay for his seat? How can United sell seats they don't have??!" That just isn't how airlines work these days.
Ignoring the textbook stuff, I think the issue is not seeking volunteers. No volunteers? Offer more money. That's the overbooking strategy I have an issue with. Overbook, fine, but don't kick people off planes when there aren't volunteers at the price you want to pay.