The issue of whether dual-core processors are a benefit is a complicated one because you need to consider the system as a whole and identify where the bottlenecks are. In many modern computing tasks the bottlenecks are commonly in getting data from storage into RAM and then from RAM into the processor. It's irrelevant how many cores you have if you can't feed them data fast enough to keep them busy.
There is also the problem that truly taking advantage of multiple cores can be very hard. Most modern OSs (Windows, OSX, Linux etc.) support multi-core processors in that they can allocate and swap threads between the cores. However this isn't the end of the story if you want to perform one task faster than before. If we think about applying a Photoshop effect or compressing video, the programmers of these tasks will have to spilt the code into multiple parts if they want the task to run quicker. They will also have to ensure that the overhead of synchronising the parts doesn't exceed the speed up being able to run across multiple cores.
There is also the problem that truly taking advantage of multiple cores can be very hard. Most modern OSs (Windows, OSX, Linux etc.) support multi-core processors in that they can allocate and swap threads between the cores. However this isn't the end of the story if you want to perform one task faster than before. If we think about applying a Photoshop effect or compressing video, the programmers of these tasks will have to spilt the code into multiple parts if they want the task to run quicker. They will also have to ensure that the overhead of synchronising the parts doesn't exceed the speed up being able to run across multiple cores.