I generally don't trust cloud technology -- it takes something simple and turns it into a complicated unreliable mess behind the scenes, even if whats presented to you as a site owner appears simple. It falls into the trap of false-simplicity on the front end, and needless complexity on the back end. For the MAJORITY of websites if written properly, there is little reason even at massive traffic scales to need more than a decent VPS so long as enough RAM is given to it.
But that's assuming what's being hosted is written properly; the fat bloated halfwit train wrecks of ineptitude being sleazed together from dozens of separate files thanks to frameworks and general ignorance on the part of front end developers are so resource hungry, that a physical server can become overtaxed on connection limits. This "developer ignorance and ineptitude" on the code, mated to the pointless bloated image asshattery made by PSD jockeys under the DELUSION that they are designers are why more and more sites end up having to throw more and more hardware -- including cloud hosting -- at traffic and content levels we were doing twenty years ago off a 1ghz P3 with a gig of RAM or less!
Until you get up into craigslist/facebook/google/ebay/amazon level traffic, there is little reason to put it on the cloud -- and many cloud hosting services spend so much time with sites down (how many times a day do you come across a cloudfront warning page? I know I see them two or three times a DAY) or inaccessible from certain regions that their claims of higher uptime are a total joke.
Though that's assuming by cloud you mean ACTUAL distributed computing hosting, and not the abuse of the term for VPS. I'm seeing that more and more where people are calling VPS "cloud hosting" and that's just ignorant marketing BS.
I like managing my own -- it gives me control. That's why I favor hands-off dedicated or VPS where I can set up whatever OS I want, however the hell I want with ZERO interference from the physical host. I want to tweak MariaDB to use more RAM for caching to fit my traffic models, I just do it. I want to play with the amount of memory set for PHP, I just do it. I want to migrate to PHP 7, I just do it! It doesn't leave me at the whims and mercy of someone else.
It also means when something goes wrong I can fix it, instead of waiting around with my thumb up my arse hoping that someone else somewhere else will notice "hey there's a service ticket here".
I don't trust shared hosting, I don't trust managed hosting, so cloud hosting? I'll pass. But if by "cloud hosting" you mean a VPS like OpenVz or KVM.ko, STOP CALLING IT THAT!!!
The term has become muddled through misuse.