As far as I know not many applications are capable of using the power of dual core. As its a really demanding task to write a good application that will be capable of managing the timings and sync for two cores. Here is a very good quote from :
So you first need a multi-threaded operating system. Windows XP Professional (but not Home), Windows 2000 (all versions), Windows 2003, GNU/Linux, Solaris, OS X, and Free/Open/NetBSD are the most popular multi-threaded operating systems that are still sold and supported. Of those, GNU/Linux and Solaris Unix have the most thorough and efficient multi-processing abilities.
Secondly, your application software must also be multi-threaded. One sure-fire way to verify that all of your applications are getting the best performance in a multi-core machine is to compile them yourself. This is easy to do on GNU/Linux distributions like Gentoo, and on most BSD variants. Since it's not usually possible to custom-compile a proprietary software program, you may have to check with the software manufacturer or vendor to make sure that your multi-CPU hardware and software configuration is supported.
So it means that if an application isn't written for a dual core cpu it simply will not be able to use its power.