I try to keep it simple,although CPU scheduling is not really simple :smileywink:
All CPUs/cores are shared between the host itself and all of the virtual machines and each of them need sufficient CPU cycles to work with the performance you would expect. If you assign multiple vCPUs to a VM the CPU scheduler has to make sure the number of virtual CPUs is available at the same time to execute commands. As an example, assuming you assign 4 vCPUs, the scheduler would have to wait until 4 cores are available. To achieve this it has to pause the first cores until the 4th one is available. During this time the paused cores are not available for other processes.
In addition to that, more vCPUs usually don't add much performance to a VM unless the applications running on the VM are optimized to use multiple CPUs.
for details see http://www.vmware.com/resources/techresources/10131
André