A single-core or traditional processor has one CPU which can be given strings of instructions for execution, also prioritise them and store in its cache , so that they can be retrieved quickly when required again. To process data outside the cache, CPU uses system bus from RAM or Storage devices. This operation of accessing data out of cache slows down performance to the maximum speed the bus, RAM or storage device will allow, which is far slower in comparison to the speed of the CPU.This is worsened when CPU is expected to perform multiple tasks which require external access. To complete such tasks CPU switches between two or more sets of data values and instructions. This engages all CPU resources and its performance deteriorates.
Where as in a dual core processor each core executes incoming data and instruction set simultaneously which improves efficiency. Thus when one core is executing its queue of instructions, the other Core can access system bus, RAM or any storage device. Apart from this, another benefit is that dual core processors are 64 Bit where as most of the single cores are 32 bit.
To take out maximum output from a dual core processor, an operating system which is capable to recognize multi-threading and it should also simultaneous multi-threading technology (SMT). SMT allows parallel multi-threading so that the cores are served multi-threaded instructions in parallel. Without SMT the Operating System will only recognize one core.
A dual core processor has two separate cores on the same die with their own separate cache. so its more like having two processors made out of one.