Does altruism and morality lead to socially better outcomes in strategic interactions than selfishness? We shed some light on this complex and non-trivial issue by examining a few canonical strategic interactions played by egoists, altruists and moralists. By altruists, we mean people who do not only care about their own material payoffs but also about those to others, and, by a moralist, we mean someone who cares about own material payoff and also about what would be his or her material payoff if others were to act like himself or herself. It turns out that both altruism and morality may improve or worsen equilibrium outcomes, depending on the nature of the game. Not surprisingly, both altruism and morality improve the outcomes in standard public goods games. In infinitely repeated games, however, both altruism and morality may diminish the prospects of cooperation, and to different degrees. In coordination games, morality can eliminate socially inefficient equilibria while altruism cannot.