#4 is one of the big issues
Connectivity is the biggest hurdle for the cloud right now, especially in the US. Fast pipes are incredibly expensive and up time is often dismal. The data center can be as resilient and reliable and mirrored as much as it can, when the cable and fiber operators keep focusing on squeezing every penny out of slow and crumbling infrastructure the cloud will not become as mainstream as we might hope for. Cloud providers should be way more bullish on getting real competition in the network provider market. Look at Europe, there anyone has typically the choice between several providers who run on top of interconnected municipal networks providing plenty of bandwidth on stable networks at low prices. Don't like provider A, B, or C? No problem, providers D, E, and F are ready for your business.
That means for anyone in our neck of the woods: either put only non-critical apps into the cloud or have at least two different cloud providers running synchronized systems that can be reached by at least two entirely different means of connectivity of which one is not cable/fiber bound. After adding all this up the cost benefit of the cloud goes away entirely. There are some maintenance advantages, but in some cases even those are negligible when comparing with the risk and potential security issues of cloud deployments.
In case you wonder why there are still cloud skeptics out there, this is mainly why.