VPS hosting is generally less efficient since it allocates a specified amount of computing resources to each client. Hence, if the requirement increases, the system would not be able to handle the additional inflow. It will simply crash. Same would be the case if the server malfunctions.
Cloud hosting, on the other hand, tackles the increase differently. Under the cloud environment, the website is hosted on a pool of unified computing resources. This simply means that if one server is reaching its optimum level, then a second server is ready to function. Similarly, if a server fails, the website will still be running as other servers will continue to serve the incoming traffic.
If you want reliability and powerful functionality, then Cloud hosting is a great choice. The recent price slashes in cloud infrastructure from Amazon and the likes shows that the market has immense growth potential. Furthermore, it shows that cloud hosting is getting affordable too.
VPS is made for people who are interested in hosting just a website. While it is powerful, VPS does not guarantee uptime should your website fails due to high traffic or a technical glitch.