As you can see, a VPS can be the perfect middle ground for many – enough flexibility and resources for those who need more access or control than on a shared server but without the cost of a dedicated server. If you need root access, you can’t get that on a shared server, but you can get it on a VPS. If your site experiences unpredictable swings memory usage, and your host provides it, then the presence of burstable memory will be attractive. And, if you’re a fan of customization, then the fact that you can customize server-level software such as PHP, MySQL, and Apache will perk your interest.  In short, choosing a VPS will allow you to have many of the same characteristics of a dedicated server but in a more affordable and manageable package.
One of the most popular recent innovations in cloud hosting plans is the use of operating system snapshots to install full server stack software including popular CMS code and web development frameworks. For example, instead of buying a bare-metal VPS plan and installing all aspects of the OS, Apache software, programming language extensions for the web server, database frameworks, etc. individually or via the command line, system administrators can simply choose a particular stack snapshot and deploy LAMP with the latest Drupal, Redis, Varnish, Zend, Acquia Cloud, & Apache Solr versions all pre-configured under PHP 7 settings. Entire production server portraits can be captured using this method and used for backup/restore, clone site replication, elastic scaling, load balancing with multiple website copies, etc. Snapshots work with Docker containers and Kubernetes as well as VPS plans under KVM, Xen, Virtuozzo, SolusVM, OpenVZ, VMware, etc. virtualization.

In answering this question, maybe it’s better to examine how VPS hosting fits in to the overall offerings of most hosting companies. Shared hosting is just that – your site is hosted on a machine with a bunch of other sites, and each of you share the same resources, including RAM, disk space, and CPU.  Your site uses what it needs if it’s available, and if it’s not – well, that’s the limitation of shared hosting. Likewise, a dedicated server is also self-explanatory –  your site is the only one hosted on server, and you have all the aforementioned resources available at your beck and call. Dedicated hosting is therefore  for those large sites with big databases and lots of traffic, whereas the limitations of shared hosting’s usually prevent it from housing that kind of site. Dedicated servers are also relatively expensive, while one can get a shared hosting plan for under $10 per month.