Error correction is a property of QR Codes which helps them remain scannable despite damage or dirt.
Error correction works by adding backup data to the QR Code mathematically.
There are four levels of error correction:
Level L: has up to 7% error correction capability
Level M: has up to 15% error correction capability
Level H: has up to 25% error correction capability
Level V: has up to 30% error correction capability
Higher the level of error correction, greater will be the scannability and density of the QR Code.
Also, it's error correction that makes it possible to add a logo to the QR Code. When a logo is added, some blocks are removed from the centre of the QR Code. These data modules are duplicated and placed elsewhere in the QR Code.
For more details, you can see this detailed guide on QR Code Error Correction.