Think of it like buying a pre-built computer versus building your own computer. When you buy a pre-built computer, it comes with everything already decided for you. You bring it home, plug it in, and turn it on and all the software has already been installed. On the other hand, when you build your own system you get to choose each piece of hardware, put it together, select your operating system, and install your own software. Building your own system takes more work, and you cannot simply turn it on and begin using it. But, in exchange for this additional effort, you get self-determination and control over your hardware and software. You can choose your favorite operating system and the apps you want to install, no longer beholden to the manufacturer’s one-size-fits-all selections. Similarly, with a Self-Managed VPS, you have to do some initial set-up and later management. Yet, you get to choose the software configuration you want to perfectly suit your operating specifications.

It works quite like shared hosting, as both of them are virtual hosting. However, shared hosting does not allow to extend or modify server settings. VPS hosting is more like a dedicated physical server on a virtual platform. You can manage and set up VPS for your requirements, as it is a separate server. Also, VPS server can be operated by a control panel that can be installed with a few clicks from the client system or the terminal command line. It means that you can even choose the same control panel as it is on shared hosting.
The force driving server virtualization is similar to that which led to the development of time-sharing and multiprogramming in the past. Although the resources are still shared, as under the time-sharing model, virtualization provides a higher level of security, dependent on the type of virtualization used, as the individual virtual servers are mostly isolated from each other and may run their own full-fledged operating system which can be independently rebooted as a virtual instance.