As a developer, you probably love to create new features in your applications to help your users solve their problems. I once worked for a company where the process to deploy new code took over 20 steps.
As we’re deploying our code, it’s possible to have some files as part of one “deployment” and some of it as a different “deployment” inside of the same directory. If a user starts out with a file in deployment A and then tries to access a file in deployment B, they can get runtime errors. Deployer prevents this by creating a new directory for each release and then it switches to it all at once.