This book gives a comprehensive treatment of the singularities that appear in the minimal model program and in the moduli problem for varieties. The study of these singularities and the development of Mori's program have been deeply intertwined. Early work on minimal models relied on detailed study of terminal and canonical singularities but many later results on log terminal singularities were obtained as consequences of the minimal model program. Recent work on the abundance conjecture and on moduli of varieties of general type relies on subtle properties of log canonical singularities and conversely, the sharpest theorems about these singularities use newly developed special cases of the abundance problem. This book untangles these interwoven threads, presenting a self-contained and complete theory of these singularities, including many previously unpublished results.