There is no real simple answer to this -- for one thing, in the old days the clock speed gave a very good indication of operating speed, but these days it can represent different things on different systems. The worst of this is the habit for system sellers on Trademe to multiply the clock speed by the number of cores.
Depending on whether they have a shared cache and how they share RAM etc, all cores have the potential to run at their full stated clock speed (except AMD, which is another story), but this will never happen in reality. Take a look at
Amdahl's law, which gives an idea of why this happens.
On a highly optimised dual core system, for instance, the programmer needs to decide what can be off-loaded to the second core. Getting the two cores balanced has to be done at this stage, you can't just tell the processor to divide the work up evenly:)
Some programs are simply not designed for more than one core. For instance, when I run Resample to build photo scenery, it uses 100% of the first core and nothing of the second. Since most programs don't have the ability to choose cores, I'm left with an unusable system for the couple of hours that Resample can run. There's all that spare processor power on the second core, but it won't automatically kick in if the first core is in use.
So the simple answer is that running software optimised for more than one core, it'll run faster than the processor clock speed, but probably not twice as fast.