When we had bare metal servers, it took a bit of time to provision them. Even today, if you want to get new hardware, it can take days to get it connected and running. Needless to say that you would want to keep them running as long as possible, given the cost of replacement or adding a new one. Then, as automation is a must, instead of configuring these bare metal servers by hand, a set of configuration management tools appeared.
Even with these tools, though, servers are prone to configuration drift; they can diverge a lot from one another and people can still go via SSH and perform changes not captured in infrastructure code.
Don't get me wrong: configuration management is still a must. But the context changed ...