Because after a certain point, a hero who refuses to kill becomes part of the problem and not the solution. I'm not saying that every hero should kill all their rogues, but if a villain constantly goes out of their way to commit atrocities, the hero should put them down. Batman should have dealt with Joker a long time ago or let someone else who was willing do the deed if he can't stomach it.