Before understanding the difference, lets define and understand what the terms VPS and Dedicated mean.
VPS (Virtual Private Server)
VPS Hosting is where you share the hardware with other clients (websites), but you are given a portion of resources that are dedicated only for your website.
A Dedicated Server is where you rent/lease an entire server which is not shared with any other client.
The Big Difference:
VPS are quite the same as Shared Hosting where the server is shared with different websites. The only difference in VPS is that, a portion of its resources are dedicated to you and you have complete control over these resources. With VPS you’ll get a personal control panel, custom IP address, CPU and RAM quota which improvises on your sites performance.
VPS also gives you root level access thus giving you the freedom to install/delete any software, set permissions and create any number of sub-accounts. Sometimes, depending on the provider, there could be some restrictions on certain things as it would cause disrupt to other clients (websites).
In Dedicated Servers you get to control over the entire server right from choosing the OS, adding layers of security, install custom softwares and the options are never ending this making one of the major attractions of a having a dedicated server. Unlike VPS, there are no restrictions on a dedicated server.
All resources like RAM, hard disk, network access, processors are all 100% dedicated to one single client unlike VPS where only a portion of resources are give to a client.
Sadly, people do not get what they pay for. So, one needs to be extra careful before deciding a hosting company. If your concern is about good hardware performance and you want to have full control over softwares, then dedicated hosting would be a wise choice.