I just bought new innards for my main pc, with an AMD octo-core FX-8120. Ok, I know it's only roughly a 6-core and the upper Intel i5s and i7s are faster for applications that use ~2 cores, out of the box.
However, it is faster than any Intel less than 150% as expensive. And it suffers mostly from bad scheduling by the Windows task scheduler. Because it requires just about the opposite approach of an Intel. Let me explain.
If you run applications that use multiple cores, you'll see that the first, third, and (when available) fifth and seventh core are all pushed to the max, while the even cores are mostly idle. Because the Windows scheduler expects those cores to be virtual, hyperthreaded ones. And it makes more sense to use a "full" core than a "virtual" one, to balance the load.
Further, it tries to keep processes on that same core as much as possible, to prevent cache misses and rescheduling demands.
Then again, if you use an AMD CPU, the opposite makes more sense: try and schedule multiple threads of the same processes on the same core pair. That increases the overall speed and prevents stalling.
The octo-cores do have a full set of 8 integer pipelines, only the floating point and special units (which are faster than the Intel ones) are shared. That means, that if a thread is waiting on the result of another one, it will stall if it isn't running on the same core-pair while using the special units. Which you can easily see in the Windows task manager: while the Intel cores tend to have an average load that fluctuates mildly, the AMD load tends to consist of spikes.
Or, in other words: they stall all the time.
So, the problem isn't so much bad/slow AMD processors, as it is bad scheduling in Windows that greatly favors Intel CPU's.
And as soon as software can really make use of 8 cores or if you like virtualizing, those octo-cores will outperform the more than twice as expensive Intel ones.