Experiments using the public goods game have repeatedly shown that in cooperative social environments, punishment makes cooperation flourish, and withholding punishment makes cooperation collapse. In less cooperative social environments, where antisocial punishment has been detected, punishment was detrimental to cooperation. The success of punishment in enhancing cooperation was explained as deterrence of free riders by cooperative strong reciprocators, who were willing to pay the cost of punishing them, whereas in environments in which punishment diminished cooperation, antisocial punishment was explained as revenge by low cooperators against high cooperators suspected of punishing them in previous rounds. The present paper reconsiders the generality of both explanations. Using data from a public goods experiment with punishment, conducted by the authors on Israeli subjects (Study 1), and from a study published in Science using sixteen participant pools from cities around the world (Study 2), we found that: 1. The effect of punishment on the emergence of cooperation was mainly due to contributors increasing their cooperation, rather than from free riders being deterred. 2. Participants adhered to different contribution and punishment strategies. Some cooperated and did not punish (‘cooperators’); others cooperated and punished free riders (‘strong reciprocators’); a third subgroup punished upward and downward relative to their own contribution (‘norm-keepers’); and a small sub-group punished only cooperators (‘antisocial punishers’). 3. Clear societal differences emerged in the mix of the four participant types, with high-contributing pools characterized by higher ratios of ‘strong reciprocators’, and ‘cooperators’, and low-contributing pools characterized by a higher ratio of ‘norm keepers’. 4. The fraction of ‘strong reciprocators’ out of the total punishers emerged as a strong predictor of the groups’ level of cooperation and success in providing the public goods.