The opposite of immutable infrastructure is the traditional mutable server: you SSH in, run apt-get upgrade, edit a config file, restart a service, and the box keeps running. Over months, every server accumulates a slightly different set of hand-applied changes. Two machines that started identical are now subtly different, and nobody can say exactly how. That difference is called configuration drift, and it is the reason for a huge share of "works on that box but not this one" outages.
Immutable infrastructure bans the in-place edit. A server, once running, is treated as read-only. When you need a new version of your app, a security patch, or a config change, you do not touch the live machine. You build a new image (an AMI, a container image, a VM template) that already contains the change, launch new instances from it, shift traffic over, and terminate the old instances.
The phrase people use is "cattle, not pets." A pet has a name, you nurse it back to health when it gets sick. Cattle are numbered, and a sick one is replaced, not treated. Immutable servers are cattle: disposable, interchangeable, and rebuilt from a recipe rather than repaired.