Think of it like in regards to slices. If you order a dedicated server, you are obtaining a 1/1 slice, or the entire servers worth of resources. Generally this is regarded as "bare metal" as you are installing the OS directly to the physical hardware. You have a lot of available options, though, like installed a single Windows Server, or installing an OpenVZ and selling slices to clients. Dedicated servers, that are installed as bare metal, also tend to be a bit more difficult to migrate, as they are not a virtual image that can be transferred around. Migrating a virtual server to another location can be as simple as shutting it down, running a single command, and starting it back up (barring any modifications to ip addresses) and some setups allow live migrations.
Another pro of a virtual server, is that they are generally easier to deploy. There are templates that allow them to be deployed instantly from a number of Linux OS and Windows OS, so you can get up and running in the matter of minutes. Backing up your data is generally a button click from a control panel to take a "snapshot" of the virtual server. Backups on a dedicated server usually require something customized, as well as having additional hardware to push the backups to. Providers who provide snapshot backups will take care of this for you, but you are at their discretion, as the backups are not always reliable, or routine. Virtual servers are also, technically, usually shared hosting. You are provided with limited resources, but since you shared the total amount of RAM and CPU of a dedicated server, one bad client up to mischief can cause an entire box of virtual servers to start running slowly (for example clients who try to run XMR miners, which can cause a VPS box to chug if not caught swiftly).
So to put it simply
Dedicated Server
- more expensive but more resources
- all of the resources are available only to you
- Requires more technical knowledge to get up and running and working as you would like. Most times, you have to install from a mounted ISO image file
- Generally requires you to perform backups manually, and own additional infrastructure to have offsite backups
- More difficult to perform a full migration to another box, or provider
Virtual Server
- Cheaper due to less resources
- Can deploy Operating Systems from Templates, and can get up and running in minutes
- Can run into slowdown on server due to other clients on box abusing and it being shared resources
- Easy to migrate entire instance between servers
- Can generally "grow" the available resources with a simple reboot (increase from 4GB of RAM to 8GB of RAM, for instance)
If you are just starting off, it is better to get a VPS, and move to dedicated as the situation calls for it. If that is the path you are planning, I recommend opening a ticket with your hosting provider and ask about the ability to move ip addresses, so that you can grow into a dedicated server, and migrate from a VPS to dedicated and keep the same ips so that your clients are not affected too much.