It's true; I did. She was once my star employee, but in the end had too many other things going on to properly focus on the job (it was a part time job, and it did not pay enough to support her). She knew she was going to be fired, so she brought a letter of resignation. I didn't accept it, and just let her go right then. It was my second last day on the job; I'd already given notice.
This is kind of funny. I certainly tell it in a light-hearted manner when recounting it to other managers or HR people. The fact is, I went through all the steps of "progressive correction". I gave her lots of chances and clearly defined my expectations and the consequences of failing to meet them. And anyway, she had other jobs; this really didn't ruin her life.
But a termination could "ruin" someone's life. It can be a really tough thing to deal with - on both sides of the situation. Nonetheless, I have terminated a lot people for a lot of different reasons, and though it may seem ghoulish, I generally derived satisfaction from it.
An HR VP at the company I worked for at the time used to tell us that we owed it to poor performers to fire them. It was in their best interest to be held accountable for their actions. They shouldn't be allowed to goof off forever without any repercussions... or so the logic went.
I didn't totally buy into this. I never had any notion that I was doing someone a favour when I fired them. Moreover, by the time it got to termination, I never felt I owed them anything. As a manager or HR rep, I always made sure that employees received a fair chance at succeeding in their job. Some might think I was a little quick to fire people, but, as a manager I worked with people before I fired them, and as an HR rep I made sure their supervisors worked with them before termination.
No, my satisfaction came from what I was doing for the rest of the team. These people, who were diligent, prompt, courteous, and competent did not deserve to share the workplace with deficient employees. My job, when doing a termination, was to make things better for them. Short term, it might inconvenience them (someone would have to cover the extra work), but in the long run I would have created a better work environment. My team knew that. They appreciated what I did.
Still, some situations are really tough. Sometimes, even if you know you are doing the right thing, it can feel like the wrong thing. However, if you have addressed performance issues head on, and have given the employee every chance to succeed, eventually a time may come when you have to let that person go. The specific situation of that employee matters not; the boss has an obligation to ensure that everyone on the team is contributing appropriately.
It's about justice on an aggregate level. It's also about justice on a personal level. And it's absolutely true that a good manager never has to fire anyone - poor employees will fire themselves. It's just that circumstances can make things hard.
And in case you're wondering, I'm still friends with that employee, and I have little doubt that she will have success in her professional life.