Reconciling the evolution of altruism with Darwinian natural selection is frequently presented as a fundamental problem in biology. In addition to an exponentially increasing literature on specific mechanisms that can permit altruism to evolve, there has been a recent trend to establish general principles to explain altruism in populations undergoing natural selection. This paper reviews and extends one approach to understanding the ultimate causes underlying the evolution of altruism and mechanisms that can realise them, based on the Price equation. From the Price equation, we can see that such ultimate causes equate to the different ways in which the frequency of an altruistic allele in a population can increase. Under this approach, the ultimate causes underlying the evolution of altruism, given some positive fitness costs and benefits, are positive assortment of altruistic alleles with the altruistic behaviour of others, positive deviations from additive fitness effects when multiple altruists interact or bias in the inheritance of altruistic traits. In some cases, one cause can be interpreted in terms of another. The ultimate causes thus identified can be realised by a number of different mechanisms, and to demonstrate its general applicability, I use the Price equation approach to analyse a number of classical mechanisms known to support the evolution of altruism (or cooperation): repeated interaction, ‘greenbear’ traits, games played on graphs and payoff synergism. I also briefly comment on other important points for the evolution of altruism, such as the ongoing debate over the predominant status of inclusive fitness as the best way to understand its evolution. I conclude by arguing that analysing the evolution of altruism in terms of its ultimate causes is the logical way to approach the problem and that, despite some of its technical limitations, the Price equation approach is a particularly powerful way of doing so.