it really just depends on the integrations/etc that you have in your system. it's possible to build them in a way that checks for the environment (prod vs sandbox) and behaves appropriately (e.g. sandbox integrations touching the sandbox of the external system instead of prod), but sometimes people forget that, and also sometimes people use it in ways that break after refreshes (e.g. if you have two different internal IDs in Sandbox vs Prod and you use different ones depending on an environment check, after refresh when the internal IDs all now match prod, that same check in SB will fail). but those environment checks have been there since before 2018.1 too so it's not really too much difference there. the main change IMO in the last few years is that now rather than Sandbox being unusable during a refresh, it stays active & with the old data up until the refresh is "activated", which gives you more buffer time to back things up if someone initiates a refresh without warning, and limits any downtime if the refresh process takes longer than usual. I also haven't seen nearly as many multi-day refresh delays, i feel like they were way more common a few years ago and lately the refreshes are all pretty smooth and complete in <1 day.