Overbooking has been standard practice for decades, and the vast majority of the time it works out. There's a consistently predictable rate of no-shows. On occasion, though, everyone shows up. When that happens, seating priority is given to those who re-confirmed their flights in advance. Prior to boarding, the passengers are informed of the overbooking status and are asked for volunteers to give up their seats for compensation (usually around $400), and they'll be put on a later flight. Almost all the time, someone volunteers. (I volunteer whenever the opportunity arises; it's a great way to make money! One time I was put on another flight, and it so happened that the original flight ended up being delayed, so I arrived home earlier and richer than expected!)
I have nothing against overbooking, because it is mathematically sound, and when done right, socially acceptable.
They fucked up this time in the following ways:
1. The matter was not settled before boarding. This is big. Once you're seated, you're seated.
2. The people who were to take the seats were employees, not other passengers. Passengers should come first.
3. They did not consider other, more reasonable options. The employees could have been put on a different flight, or even sent by car. (I used to live in Louisville, and often drove to Chicago... no big deal.)
4. They removed the passenger using physical force, injuring him.
5. Their post-incident PR work sucked anuses.