Raman spectroscopy is an integral part of graphene research. It is used to determine the number and orientation of layers, the quality and types of edge, and the effects of perturbations, such as electric and magnetic fields, strain, doping, disorder and functional groups. This, in turn, provides insight into all sp(2)-bonded carbon allotropes, because graphene is their fundamental building block. Here we review the state of the art, future directions and open questions in Raman spectroscopy of graphene. We describe essential physical processes whose importance has only recently been recognized, such as the various types of resonance at play, and the role of quantum interference. We update all basic concepts and notations, and propose a terminology that is able to describe any result in literature. We finally highlight the potential of Raman spectroscopy for layered materials other than graphene.