A Merkle tree is a data structure for efficiently verifying the integrity of large datasets. You hash leaf nodes, then combine and hash those hashes up the tree. The root hash represents the entire dataset. Change one leaf and the root changes. This lets you verify if a particular piece of data is in the tree without downloading the entire tree.
You need only the path from leaf to root, which is logarithmic in size. Bitcoin and Ethereum use Merkle trees. A blockchain node doesn't need to download the entire history of transactions. It can verify that a particular transaction exists by asking for the Merkle proof. Given the root hash and the proof, the node can verify the transaction was in a particular block.
Light clients become possible: a phone can verify blockchain transactions without storing the entire 500-gigabyte blockchain. Merkle trees are efficient and elegant, enabling compression without sacrificing verification. They're used in virtually every blockchain and many distributed systems because they solve the core problem of proving integrity at scale.