Setting up a VM is more easy than installing a dedicated PC, in terms of limitations or advantages there are basically the same, we are talking about computer resources (cpu, ram, storage, devices).
If you plan to work with high demand of computer resources apps, you might get a dedicated PC.
If you plan to just run an entire OS to do one specific task and low computer resources are need it, sometimes is better to run a VM. (Setting up a webserver is an example of a specific task for a OS)
In terms of coding/develop, you can do it in any kind of PC, resources does not matter when coding, the resources will be need it to run the stack of software need it to run properly your code (webserver, databases, users connections managementā¦).
From my personal point of view, is easy to deploy a VM to use it has a Test Enviroment for any use case than installing a dedicated PC, and if i do not need the Test Enviroment any more, i just have to delete the VM, while on a dedicated PC is a more complex process since it involve to format the entire disk and install something else and bla blaā¦
Hope you find this useful.
If you have any more questions, please let us know so we can help you!
Carlos Z.