During an application development cycle, we almost always begin by testing locally. Several times, it works locally but not after deployment. But we also do not like deploying directly to the production environment. To solve this, it is common practice to have a Staging environment that works in between.
In Microsoft's Azure App Service, an App can have several slots from the Standard ties and above (as at the time of writing). I commonly use this feature to implement a Staging slot.
The essence of the Staging slot is to check if everything is okay before making the app version currently running in the staging slot visible in production. Due to this requirement, it is sometimes necessary to have two different sets of resources associated with the app.