A Cloud server is just a VPS on some kind of cluster.
If a "Cloud-Server" which is in essence a VPS, with it's storage on a Storage Area Network fails, this gets spotted quickly by inbuilt cluster monitoring.
Your VPS is then booted on another node in the "Cloud" cluster.
There should be many nodes in a cluster and the cluster should, at least in theory, have the capacity to handle it's biggest node failing over.
This way your server will not be down for long, which is how they can offer high availability.
However!!
Since multiple machines are running on a node, their is an increased likelihood that a node becomes unstable or slow due to something outside the control of the VPSs owner. This means there is likely to be ups and downs in performance, small periods of downtime if a node fails over, and a performance overhead of being a virtual machine functioning through a Hardware Abstraction Layer.
Dedicated
A dedicated machine, is completely under your control, you get 100% of the performance, you also get 100% of the cost. Again through if you are a reseller, a machine could be brought down by a single website or user if their site gets busy, or is badly written.
This is why many hosts are now using CloudLinux or BetterLinux, as it gives VPS like performance controls per user to the host.
If you want guaranteed performance levels, then dedicated is the way to go.
If you want guaranteed performance levels, and ease of deployment, you can always do what we do.
Install your cloudserver as the ONLY vps on a given node and give it all of the resources, the cost of the cloud license is pretty insignificant, given you can migrate the service to a bigger server in the future without downtime, take snapshot backups and all the other funky stuff you can do if you have your own cloud.