When servers are changed by hand over time, no two end up exactly alike, and faults become hard to reproduce. Immutable infrastructure treats servers as disposable: rather than patching a running machine, you build a fresh one from a defined recipe and swap it in.
This makes deployments predictable and rollbacks simple, since the previous version is just another image you can bring back. It demands discipline in defining everything as code, but it removes the slow drift that makes long-lived systems fragile.