When you're betting on any of the large, public clouds, what you're paying extra on top compared to colocation is basically renting an insanely large and experienced operations team that's solely incentivized by keeping the services running and connected. I'm not saying the large players will never fail, but at least they are designed and built to that standard at any single point of contact.
Even at a _single_ public cloud, bugs and misconfigurations far outweigh any hardware failure. I've seen routing configurations or the Kubernetes backplane fail on GCP that took down my services, but never ever even a whole Availability Zone.
The farther you zoom out, the larger the probability of misconfiguration and failure by excessive technological complexity compared to individual server or service failure.
I did myself a favor once and wondered what's the actual cost if our site goes down and for how long. Surely it's high, you might be surprised to actually compare that against what you're paying for in risk management.
With that number in hand, I decided for example that the risk and adjusted cost of whole AZ failure is negligible compared to what we were paying for in intra-AZ traffic and happily put all of our production network back into one AZ (backups excluded of course).
Also, on the cost side, you'll usually get larger discounts and massively save on traffic costs if you just bet on a single cloud that should far outweigh any savings you might get by the leverage of avoiding lock-in, or buying individual services cheaper on specific clouds.
Then again, we're not servicing any life critical systems. Your mileage may vary.