Your initial sentiments are correct - there IS a negative slant toward multiple cores, and it's not really all that deserved.
Back in the day when most users only used their desktop PC for simple word processing, there may have been an argument. But these days, with things like browsers with multiple tabs, each in their own process (chrome and ie do process level separation for tabs) plus things like video decoders within web pages and extra tasks which could easily be offloaded like on-the-fly rendering of effects aka css3, even the browser alone can justify a reason for lots more ram, and a few cores.
Add to that the fact that some users might also be gaming on this PC, or using tools like garageband, imovie, handbrake, multiple cores can be a huge benefit.
It's not true to assume that you need to max out (ie. 100% cpu usage on a single core) a core in order for another core to be useful. Because we are talking parallelism here. Task switching within a cpu usually performs a batch of operations before it swaps its stack to another process. Not all of these tasks are cpu bound, so you won't see a cpu spike even though the core is locked.
Basically, you're right, but what is the most efficient number of cores? 2? 4? 12? This would most likely depend on the users habits... I tend to this 2-4 for most users, but I'm only guessing.
A fundamental flow to this question and the answers is the assumption that a single process is single-threaded. This is not the case in many instances. And even if the process is single-thread, several system libraries/dll add their own threads. – harrymc – 2010-09-12T16:57:35.000