To get the most use out of scarce spectrum, technologies have emerged that permit single systems to accommodate both radar and communications functions. Dual-function radar communication (DFRC) systems, where the two systems use the same platform and share the same hardware and spectral resources, form a specific class of radio-frequency (RF) technology. These systems support applications where communication data, whether as target and waveform parameter information or as information independent of the radar operation, are efficiently transmitted using the same radar aperture and frequency bandwidth. This is achieved by embedding communication signals into radar pulses. In this article, we review the principles of DFRC systems and describe the progress made to date in devising different forms of signal embedding. Various approaches to DFRC system design, including downlink and uplink signaling schemes, are discussed along with their respective benefits and limitations. We present tangible applications of DFRC systems and delineate their design requirements and challenges. Future trends and open research problems are also highlighted.