A Virtual Private Server (VPS) is a simulation of configuration and system by any operating system to allow multiple operating systems to access the main server simultaneously. As a consequence you can host multiple servers on one server. Each virtual server is isolated from the others and hence private and hardware resources (RAM, CPU etc.) are managed by the host server.
Not only can VPS plans can be hosted on Linux but also on Windows. However, Windows VPS plans can prove to be a more expensive option in comparison to the Linux option. For specific purposes, windows can prove to be a better option. However, Linux or FreeBSD are the most used platforms for virtual servers.
VPS can prove to be a relatively cheaper option in comparison to collocated or dedicated servers as the fixed cost of server running is shared. So the per website-hosting cost using VPS can come down or the other way of looking at it is that you get more websites for the same server cost as a dedicated server. Most VPS hosting plans offer root access which is the ability to install any programs, unlimited websites (especially in Apache Virtual hosts), hosting FTP servers, mail servers, apple servers or just for storage and backup.
Some of the flip sides of having VPS servers are that it requires individual attention for maintenance, installation, security etc. Inexperience of working in Linux servers can prove to be a major roadblock as well. Sharing single random access memory(RAM) with various VPSes can prove to be detrimental for performance critical applications and websites.
However, with all the flipsides, VPS has opened the possibility of internet and its various brilliant options. Website hosting has become a very simple option for any one with basic hosting knowledge and at a fraction of the dedicated or collocated server price. Going ahead it looks like the web hosting is more going to be dominated by VPS.