To use quantum systems for technological applications one first needs to preserve their coherence for macroscopic time scales, even at finite temperature. Quantum error correction has made it possible to actively correct errors that affect a quantum memory. An attractive scenario is the construction of passive storage of quantum information with minimal active support. Indeed, passive protection is the basis of robust and scalable classical technology, physically realized in the form of the transistor and the ferromagnetic hard disk. The discovery of an analogous quantum system is a challenging open problem, plagued with a variety of no-go theorems. Several approaches have been devised to overcome these theorems by taking advantage of their loopholes. The state-of-the-art developments in this field are reviewed in an informative and pedagogical way. The main principles of self-correcting quantum memories are given and several milestone examples from the literature of two-, three-and higher-dimensional quantum memories are analyzed.