In this chapter we discuss coherent X-ray scattering, photon statistics of speckle patterns, and X-ray photon correlation spectroscopy (XPCS). XPCS is a coherent X-ray scattering technique used to characterize dynamic properties of condensed matter by recording a fluctuating speckle pattern. In the experiments, the time correlation function of the scattered intensity is calculated at different momentum transfers Q and thereby detailed information about the dynamics is obtained. Recently, XPCS applications have broadened to include the study of nonequilibrium and heterogeneous dynamics, e.g., in systems close to jamming or at the glass transition. This is enabled through multi-speckle techniques where a 2D area detector (CCDs or pixel detectors) is employed, and the correlation function is evaluated by averaging over subsets of equivalent pixels (same Q). In this manner time averaging can be avoided, and the time-dependent dynamics is quantified by the so-called two-times correlation functions. Higher-order correlation functions may also be calculated to investigate questions related to non-Gaussian dynamics and dynamical heterogeneity. We discuss recent forefront applications of XPCS in the study of soft and hard condensed matter dynamics, including phase-separation dynamics of colloid-polymer mixtures, motion of Au nanoparticles at the air-water interface, dynamics of atoms in metallic crystals and glasses, and domain coarsening in phase-ordering binary alloys.