There are pros and cons of both but tough to say that one is better than the other. Either can fit a variety of use cases

Dedicated Instances are hosted on a hypervisor, typically a multi-tenant host though some providers offer dedicated hosts where your instance is placed on a host machine that you are the sole tenant (these tend to be more costly but will provide isolation and flexible configuration). Of the reasons to choose a virtual instance would be primarily cost, then scalability (most providers offer the ability to scale your vCPU/RAM/Storage quickly). A shortcoming of a virtual instance would likely be limited hardware configuration (as you are at the mercy of the host machine configuration) and perhaps network options (depending on how the provider has carved up the offering), and lastly risk of a noisy-neighbor hogging network and compute resources. Check into how the hosting provider is carving up the host machine's resources and determine if any of these are a detriment to you

With regards to a dedicated machine many of the shortcomings of the virtual instance are avoided (more configurable options, single tenancy, possible higher compute power) provided you are willing to either pay more for the same configuration, or if you need a small configuration (fewer than 4 cores and 8GB RAM) know that you may have some compute overhead as many bare metal server providers bare metal offerings start with something similar to Xeon 1270v3. While you now have a dedicated machine (and hopefully root access!) you are the sole administrator to the entire server and must be mindful of the health of the hardware. Reputable bare metal providers will have datacenters staffed 24x7 ready to address any hardware issues you bring to their attention

Regardless of the type of machine you bring up, inquire about your provider's support policies and SLA to best position yourself in line with your business needs

BlueCloud2019
~IBM~