We review the history of jets in high energy physics, and describe in more detail the developments of the past ten years, discussing new algorithms for jet finding and their main characteristics, and summarising the status of perturbative calculations for jet cross sections in hadroproduction. We also describe the emergence of jet grooming and tagging techniques and their application to boosted jets analyses.