If you had a host machine with 8 cores, and a virtual machine with 2 cores, the virtual machine will only possibly use 25% of the CPU resources of the host machine -- one vCPU cannot be schedule in parallel across more than one physical core.
However it is advisable to minimize the vCPUs in VMs because it greatly enhances scheduling -- if a VM has 8 vCPUs allocated to it, with some hypervisors that lack advanced co-scheduled it won't be scheduled until 8 cores are available, and in some situations it will sit on 8 cores during its duration whether it is only using 1 or all. If you have a large number of smaller VMs, scheduling can greatly improves.
This isn't true for all hypervisors and situations. You mileage may vary.
However it is advisable to minimize the vCPUs in VMs because it greatly enhances scheduling -- if a VM has 8 vCPUs allocated to it, with some hypervisors that lack advanced co-scheduled it won't be scheduled until 8 cores are available, and in some situations it will sit on 8 cores during its duration whether it is only using 1 or all. If you have a large number of smaller VMs, scheduling can greatly improves.
This isn't true for all hypervisors and situations. You mileage may vary.