No. It's all one processor, but it has two processing cores. There's more to a processor than just the core that does all the actual work. Also, it will still only run at 2.5 GHz. It doesn't work twice as fast, it just has the potential to do twice as much work at once.
Think of it this way. You need to dig a hole, and you move one shovelful every 10 seconds. If you get a friend to help you dig, you finish digging the hole faster because you're moving two shovelfuls every 10 seconds. You're not working twice as fast, you just have more than one person doing the work. Theoretically they should both have the same effect, but things get a little more complicated when you're talking about computers.
A processor can only run one thread at any one time. Most processes are made up of multiple threads, so modern processors can work around this and give the illusion that we're running more than one thread at once by switching very quickly from one to the other. It basically juggles every running thread around based on their priority. What a dual-core processor does is let you run two threads at once by running one thread in each core.
The thing is, the application you're using has to be coded to take advantage of multiple cores by allowing multi-threading (distributing the threads between the different cores). If it isn't (and most of them aren't), there really isn't any difference between running a single application on a single-core CPU and running that single application on a dual-core CPU. It only really starts to help out when running a lot of different applications at once.
There are also triple- and quad-core processors. Personally, I think they're too expensive to justify the negligible amount of performance gain you get from using them. The only exception is when playing newer games or more CPU-intensive applications that are multi-thread capable. If you're not planning on doing any hardcore gaming or 3D modeling, though, then anything more than 2 cores is really unnecessary. Especially if other companies besides Apple hop onto the OpenCL bandwagon, which would let you use your idle video card processing cores to balance the process load between the CPU and video card.