It is not my statement, it is what VMware is spilling on their website (knowledgebase and forums) as well as their Fusion twitter account. From what I know is that it will have to run several threads simultaneously (in parallel). This is where things go wrong if you don't have enough cores/cpus (or simply put: there isn't enough hardware to run all those threads simultaneously).
What I've seen is that it can run several vm's just fine. It'll queue the workload (run it in serial) which is why this will work fine.
They are probably taking the overhead into account. It is more like a rule of thumb (it is much easier to say "half the amount of physical cores"). OS X itself also likes multithreading.
OS X does have GCD (Grand Central Dispatch) and so does something like FreeBSD. In both cases the applications need to support it and I have no idea if VMware or Parallels support it. VMware has a pretty solid base which was mostly invented before GCD existed so I'm guessing that they won't support it. ESXi, however, does have support for hyperthreading.
About 90% of the code is shared between Workstation, Fusion, Player and ESXi but there are quite a lot of differences too (like ESXi being able to use hyperthreading and assigning a specific core to a vm, the others can't do this).
They spam it in their own forums and on their Fusion twitter account (when it used to be useful; it is now only used for marketing). You'll see it in topics where people are having performance issues and have assigned quite a lot of vCPUs. They used to have it in the "
choosing vm settings" document but they made the text a bit more "generic" (it looks as if they are saying "try it yourself and you'll for yourself" aka trial & error). The document does mention that some are seeing an overhead of about 30%.
VMware seems to be recommending that too as well as many others. If you mess around with the settings you quickly know why