Toxin–antitoxin systems are widespread in bacterial genomes. They are usually composed of two elements: a toxin that inhibits an essential cellular process and an antitoxin that counteracts its cognate toxin. In the past decade, a number of new toxin–antitoxin systems have been described, bringing new growth inhibition mechanisms to light as well as novel modes of antitoxicity. However, recent advances in the field profoundly questioned the role of these systems in bacterial physiology, stress response and antimicrobial persistence. This shifted the paradigm of the functions of toxin–antitoxin systems to roles related to interactions between hosts and their mobile genetic elements, such as viral defence or plasmid stability. In this Review, we summarize the recent progress in understanding the biology and evolution of these small genetic elements, and discuss how genomic conflicts could shape the diversification of toxin–antitoxin systems. Toxin–antitoxin systems are composed of a toxin that inhibits an essential cellular process and an antitoxin that counteracts its cognate toxin. In this Review, Van Melderen and colleagues summarize the recent progress in understanding the biology and evolution of these small genetic elements, and discuss how genomic conflicts could shape the diversification of toxin–antitoxin systems.