If my local server providing a vital service goes down, I catch hell.
If my cloud server providing a vital service goes down, I catch hell and can't do anything about it except bitch at customer service who has their own set of priorities and a TOS protecting them from any meaningful action on my part.
Clearly the right option depends on the specifics of the service and the team managing it. However, unless you have a spare server sitting around, you're in the same boat either way, right?
Outages at serious cloud providers like AWS are usually restricted to availability zones, though there have been a few high profile exceptions where entire regions were affected. In general though, with AWS you can redeploy your server rapidly if you have your infrastructure blueprints kept as code, and your data backed up to EBS snapshots or S3.
Just this week I had a high-traffic Wordpress blog shit the bed on EC2/RDS. Using the tools we built at OpDemand, I was able to clone the platform and get it back up and running in < 60 minutes without any HA. I think < 60 min recovery time is probably a stretch for most on-premise environments..
This is service contract management, not technical or systems management.
Cloud is IT infrastructure outsourcing and (just like other outsourcing) requires a strong contract. Being able to specify, clarify and hold your provider responsible on contract specifics and making your management comfortable with it is becoming part of the IT operations job.
You need to set expectations with management. One of the benefits of outsourcing is that you should be have an exit or ability to switch to a similar provider... otherwise you are a captive customer.
So, what's the right option there?