You could think of the sites that share your server as your roommates; there's really not that much separating you from them. Sure, you can close the bedroom door, but they can still cause nightmares for you in the kitchen and the bathroom. In web hosting terms, all the sites share a single server's resources, so huge traffic spike on Site A may impact the neighboring sites' performances. It's even possible that another site could take down the shared server altogether, if it crashed hard enough.
Users are guaranteed the resources on their VPS server for their web hosting accounts. This means that your account will always be allocated the set amount of RAM, CPU, and disk space you've chosen regardless of what other users on the server are doing. This allows for greater stability and performance of your website, applications, and email. You also do not share the operating system with any other users, providing better security for your website files.
A VPS runs its own copy of an operating system (OS), and customers may have superuser-level access to that operating system instance, so they can install almost any software that runs on that OS. For many purposes they are functionally equivalent to a dedicated physical server, and being software-defined, are able to be much more easily created and configured. They are priced much lower than an equivalent physical server. However, as they share the underlying physical hardware with other VPSes, performance may be lower, depending on the workload of any other executing virtual machines.