We once took over a payment service that had run in production for two years with no staging environment. Everything worked. The team had simply not needed one, until they did, and by then every change had to be tested on live traffic with real money moving through it.
The cost showed up in speed, not in a single outage. Small improvements sat untouched for months because no one wanted to be the person who broke checkout on a Friday. The founders thought they had a code quality problem. What they had was a missing environment problem.
Setting up a proper staging copy took us a couple of weeks. Reconstructing two years of undocumented integration behaviour, so that staging actually resembled production, took much longer, and that is the part few people budget for. The groundwork you skip early does not stay skipped. It waits and charges interest.
Now we treat the boring setup (staging, deploy path, a way to roll back) as part of the first delivery, not as something to do once the product proves itself. It is much cheaper to build a second environment when there is almost nothing in it.
You probably have a piece of groundwork you postponed and later wished you hadn't.