The difference between shared and VPS hosting comes down to three things: resources, price, and performance.
Resources — Plain and simple, shared hosting is sharing a server with other websites, where VPS hosting provides server resources dedicated to you.
Pricing — Shared hosting is generally cheaper because resources are shared with more users. Virtual Servers on the other hand, generally have fewer websites, but are more expensive.
Performance — The reason most people choose VPS over shared is because of performance. Their website or application has heavy resource demands, or they have a higher expectation of performance. VPS powered websites, when managed correctly (like we do here at WaseerHost), are much faster and more responsive.