Коротко: это разные среды разработки, которые нужны для тестирования кода. Как правило, в компаниях используются три среды (или окружения) разработки и тестирования: Devel, Staging и Production.

Devel

Это обособленное от внешнего мира (даже в рамках компании) окружение, где разработчик и тестировщик могут ломать что угодно и как угодно, и одним кликом восстановить все как было.

Необходимо это для отладки и тестирования, чтобы можно было проверить все сложные ситуации, разломать данные как необходимо для тестирования, и так далее.

Пример. Компьютер разработчика, на котором открыта копия проекта.

Staging

Используется для интеграционных и автоматических тестов. Если в компании принято не деплоить каждую задачу по отдельности, а собирать билды или релизы, то финальная проверка того, что всё вместе работает и не ломается, проводится именно здесь.

Хорошей практикой считается не ломать данные в этом окружении и держать его в максимально работоспособном состоянии, потому что на его основе принимается решение о финальном деплое в Production среду.

Пример. Сервер в компании, к которому могут обратиться все разработчики.

Production, «прод»

Production — это «боевое» окружение, на котором запущен ваш проект. То есть то, что видит конечный пользователь — сайт, приложение или что угодно ещё.

Тестирование на Production происходит только при наличии тестовых пользователей и специально созданных условий. Именно здесь собираются все метрики, по которым компания понимает, всё ли идёт хорошо.

Если Production упал по какой-то причине — бизнес встанет. Не роняйте прод.