  We review Skilling's nested sampling (NS) algorithm for Bayesian inference
and more broadly multi-dimensional integration. After recapitulating the
principles of NS, we survey developments in implementing efficient NS
algorithms in practice in high-dimensions, including methods for sampling from
the so-called constrained prior. We outline the ways in which NS may be applied
and describe the application of NS in three scientific fields in which the
algorithm has proved to be useful: cosmology, gravitational-wave astronomy, and
materials science. We close by making recommendations for best practice when
using NS and by summarizing potential limitations and optimizations of NS.
