VPS stands for 'Virtual Private Server', this type of hosting is in between shared hosting and a dedicated server hosting, VPS also uses the 'sharing' technology of shared hosting, but able to extend to limiting common resources like CPU and memory to each VPS account. Other than slicing the server resources, it offers a private root environment.
A shared hosting account owner can only access certain area in the server and generally have no authority to change / update system software. VPS hosting offer a lot more privacy and flexibility, basically a VPS hosting account is given a clean partition in the server with 'root' access to the given partition, VPS account owner can perform any root user function in the allocated partition, including installing any system software needed, and this will not interfere the rest of the VPS account residing on the same server.
This type of hosting is good for website owners that requires certain degree of control over the system software installation that is not possible in a shared hosting environment. Generally, users require some degree of technical knowledge on server management as support from web hosting provider is either not available or require extra fee to attend to certain support requests, this may be extra cost to the website owner if help is needed to do some system maintenance like reset the account to original state, debug or install certain piece of system software, it is important to check through the support level provided to ensure you are not left in the dark when you need help. Hosting fee is higher than shared hosting but slightly less than a dedicated server.