Raman spectroscopy of graphene is reviewed from a theoretical perspective. After an introduction of the building blocks (electronic band structure, phonon dispersion, electron-phonon interaction, electron-light coupling), Raman intensities are calculated using time-dependent perturbation theory. The analysis of the contributing terms allows for an intuitive understanding of the Raman peak positions and intensities. The Raman spectrum of pure graphene only displays two principle peaks. Yet, their variation as a function of internal and external parameters and the occurrence of secondary, defect-related peaks, conveys a lot of information about the system. Thus, Raman spectroscopy is used routinely to analyze layer number, defects, doping and strain of graphene samples. At the same time, it is an intriguing playground to study the optical properties of graphene.