We're re-hiring someone in a couple weeks. This person has gone through phases of being a good employee and a not so good one. Some of the behaviors this person has exhibited are really questionable. Many of this person's co-workers complain about the behavior.
So why would we rehire?
First- training is expensive. It takes money away from the other employees to have extra people while a person is being trained. It's a drain on our time. Training takes a long time. The GM is better at it than I, and she's only there two days a week. That makes for an even longer training period.
Second- We believe there are life lessons to be learned in the workplace. Working through these behaviors is a lesson this person obviously needs to learn. How to deal with the behavior might be one we need to learn.
Third- We have learned over the years that our organization needs certain "types". These people serve roles at the restaurant, often ones we don't know we need. This person, along with one other, unfortunately fills the role of scapegoat. A safety valve for the other employees to release frustration. By pinpointing this person, correctly or not, they're a more cohesive team. A little sick, yes. But life is like that sometimes. When this person really gets sick of playing this role, they'll change enough to convince their co-workers.