A staging environment is the last step before something goes into production and is visible on the live site. A staging site's main purpose is to ensure that all new changes deployed from previous environments are working as intended before they hit the live website.
Why do you need a staging site?
It enables you to test any changes or major new features that you plan to implement in a secure environment. Developers typically use staging sites to test changes and fix bugs before going to production.
Is staging environment necessary?
Not every app can afford to take the level of risk or losses that can come from testing completely in production. For example, if you're building an app for an operating room for patients, you can't exactly test in production, and no loss is acceptable. In such a case, you absolutely will need a staging environment.