There is large interspecific variation in the magnitude of population fluctuations, even among closely related species. The factors generating this variation are not well understood, primarily because of the challenges of separating the relative impact of variation in population size from fluctuations in the environment. Here, we show using demographic data from 13 bird populations that magnitudes of fluctuations in population size are mainly driven by stochastic fluctuations in the environment. Regulation towards an equilibrium population size occurs through density-dependent mortality. At small population sizes, population dynamics are primarily driven by environment-driven variation in recruitment, whereas close to the carrying capacity K, variation in population growth is more strongly influenced by density-dependent mortality of both juveniles and adults. Our results provide evidence for the hypothesis proposed by Lack that population fluctuations in birds arise from temporal variation in the difference between density-independent recruitment and density-dependent mortality during the non-breeding season.