I would be willing to take a punch if it meant someone I did not like would receive two punches.
Sometimes there are people in this world who deserve to be punched because they behaved like assholes. It is important to a functioning society that assholes be punished, to prevent them from further inflicting their behavior on others. We are willing to incur personal costs to achieve our own version of justice. In fact, there are people who spend their careers doing this: Law Enforcement Officers.
Even in a world without cops, asshole behavior will eventually self-police: An asshole especially doesn’t want to be surrounded by other assholes.
Suppose we play a game of Prisoner’s Dilemma with multiple players who rotate opponents. To maximize the total group earnings, every player should always Cooperate. As an asshole who wants to maximize my own personal earnings, I want every player to always Cooperate…except for me. Then it is in my best interest to destroy the other non-Cooperative players, because if too many of these exist, the group as a whole will become distrustful and stop cooperating. And then I wouldn’t be able to exploit all the Cooperative players.
I am willing to expend personal effort to punish other assholes because I know that I will recover my costs when I later screw the Cooperative players. Altruistic individuals of course also want to rid the field of selfish players, but they are less willing to do so at personal cost.
Studies have shown that the individuals most inclined to cheat are also the most inclined to punish other cheaters. Every Tour de France cyclist accused of doping has accused multiple others. The Mafia reduces crime in the areas they inhabit, and cops shake down donut shops while keeping the burglars away.
We go out of our way to punish assholes because sometimes karma needs a helping hand. Karma gets the most help from assholes.
Selfishness as second-order altruism –Proc. of the National Academy of Sciences, 2008