If one AWS AZ goes down I can bring up servers in a second one. If one AWS region goes down I can bring up servers in a second one. In fact to hedge against these risks I *already have* servers in multiple zones and regions.
Sure you can do that with traditional data centers. Just host your stuff across more than one, right? Do you have any concept of what that COSTS? Especially if you, say, want to add servers in multiple data centers, or move servers from one to another. Plus now you have multiple vendors, contacts, SLAs, and so son, and so forth. And heaven help you if you ever want to *decrease* your capacity. Have fun selling those servers on ebay.
Reddit and friends are suffering downtime from a single AZ outage because their architectures have single points of failure. Don't build your systems that way! If you have single points of failure it doesn't matter whether you're hosted in the cloud, in a commercial data center, or in your own data center. Conversely if your architecture is good and doesn't have single points of failure, the hosting question comes down to this: what do you specialize in as a business? If that list doesn't include "running a data center", don't run your own data center. If it doesn't include "maintaining a shit load of hardware", then don't host in a commercial data center either, run in the cloud. I think you will find that this latter category includes 99.99% of businesses.