Shared hosting is cool, it keeps your mind clean from things like updates, security, settings and several other things. But shared hosting and performance is something very difficult to achieve, and those who have achieved are few. If you are good at system administration, or if you want to experiment with or try something that typical shared hosting doesn't allow you to do then you should go for a VPS. VPS stands for Virtual Private Server, that means that the resources of a machine are split to pieces and one of those pieces belongs to you. VPS servers cost less than their dedicated counterpart but for many situations (not all) they are quite as good.
Unless you've been living to another planet then you've probably listened about "the cloud". Cloud services are many machines working as a whole. Cloud hosting is no difference to other cloud services, many webservers have joined forces and you get as much computer power as you need from this "array". When it comes to cloud hosting it is very hard to beat DigitalOcean. With features like 55 second reboot and resize, SSD hard drivers, DNS management and, my favorite, per hour charging they are really the only stop for your cloud needs.
I mostly use them for advanced websites and for AEgir hosting. However many of my IOT services run on their webserver, especially those combined with an Arduino.