We moved past the single core cpus a long time ago. And that was good, we needed that.
We moved on to dual cores, then to quad cores, then to quad cores with hyperthreading, and soon we'll be seeing 6-core cpus, 12-core cpus and who knows how much this number will go up.
All this is well and good. But companies are still producing dual core cpus. We have the i3s, the Athlon X2 and so on. What does that mean for future software and especially games? If, as many people say, it is easier to write code for fewer cores and if there's a large market segment that still uses dual cores (I am one of them, I still see no reason to change my overclocked Core2Duo E6400) and software companies do not want to lose those potential costumers, doesn't this mean that games and software will always be working nicely (at least) with dual cores?
I will be in the market in a few months and I would like to find out if a dual core is a dead end. I know there isn't a definite answer in that, we cannot predict the future, but being on a budget means that you have to cut corners somewhere.
Anyway, this is what I think and I would welcome a discussion (but not a flame war). Intel's i5 750 and the higher end PhenomII CPUs are more or less a safe bet for the next 2-3 years maybe (as safe as a bet like that can be). They have 4 cores to help them with software that utilizes many cores, but they are not too expensive to deter you from buying them. The existence of dual cores means that we're not past the era of the dual cores, so 4 cores is "enough" for the immediate future.
It depends on the software and even games that we're talking about.
Games-wise, anything that involves heavy amounts of background power (ie. not graphics) is, or will be, going mulit-core. Any heavy simulations, the bigger RTSs, and anything with more advanced AI. The main question will be how much of these operations will be taken over by the GPGPU, I've heard that AI could be going that way, if nothing else.
Even with games only utilising dual threads, having 3/4 cores will give windows somewhere to idle, whilst the game gets 2 cores that don't run off to other tasks. Well, that's the theory anyway.