I've fired people for gross misconduct, I've fired people for failing probation, and I've fired people for accumulating enough disciplinary warnings/lack of capability. I've also made countless people redundant.
I've sacked someone for being under the influence of drugs (marijuana) because we have a policy in our contracts of zero tolerance and it involved testing etc.
Not once have I ever felt good about letting anyone go, though. There was one guy who was an absolute waster and was bringing the whole place down with his attitude and performance, but I'd say it didn't bother me to let him go, not that I actually felt good about doing it. I think you'd need to be a bit of a c**t to feel good about sacking someone to be honest.