Absorption of electromagnetic energy by a material is a phenomenon that underlies many applied problems, including molecular sensing, photocurrent generation and photodetection. Commonly, the incident energy is delivered to the system through a single channel, for example by a plane wave incident on one side of an absorber. However, absorption can be made much more efficient by exploiting wave interference. A coherent perfect absorber is a system in which complete absorption of electromagnetic radiation is achieved by controlling the interference of multiple incident waves. Here, we review recent advances in the design and applications of such devices. We present the theoretical principles underlying the phenomenon of coherent perfect absorption and give an overview of the photonic structures in which it can be realized, including planar and guidedmode structures, graphene-based systems, parity-and time-symmetric structures, 3D structures and quantum-mechanical systems. We then discuss possible applications of coherent perfect absorption in nanophotonics and, finally, we survey the perspectives for the future of this field.