We calculate the double resonant (DR) Raman spectrum of graphene, and determine the lines associated to both phonon-defect processes, and two-phonons ones. Phonon and electronic dispersions reproduce calculations based on density functional theory corrected with GW. Electron-light, -phonon, and -defect scattering matrix elements and the electronic linewidth are explicitly calculated. Defect-induced processes are simulated by considering different kind of idealized defects. For an excitation energy of $epsilon_L=2.4$ eV, the agreement with measurements is very good and calculations reproduce: the relative intensities among phonon-defect or among two-phonon lines; the measured small widths of the D, $D$, 2D and $2D$ lines; the line shapes; the presence of small intensity lines in the 1800, 2000 cm$^{-1}$ range. We determine how the spectra depend on the excitation energy, on the light polarization, on the electronic linewidth, on the kind of defects and on their concentration. According to the present findings, the intensity ratio between the $2D$ and 2D lines can be used to determine experimentally the electronic linewidth. The intensity ratio between the $D$ and $D$ lines depends on the kind of model defect, suggesting that this ratio could possibly be used to identify the kind of defects present in actual samples. Charged impurities outside the graphene plane provide an almost undetectable contribution to the Raman signal.