Regarding Multiprocessing and OS X
Ok, for those arguing about the single processor vs. dual processor issue, all I want to say is that an OS (at its lowest level) needs to do resource allocation/management. It's the interface between the hardware and the software.
So, to characterize the scenario, a piece of software comes along and tells the OS, "hey I need to cook this meal, here's the recipe, now off ya go!" And the processor looks and sees, "well I have two ovens, 3 bowls, 5 fridges, etc." and basically it uses whatever it has to get the job done. Ok, enough with this analogy (for now).
So if an OS like OS X is multiprocessor capable, it knows how to distribute its labor so that two processors can do it instead of one. Of course, there is some overhead to multiprocessing, and certain programs will be better suited to multiprocessing than others. But all of this should be invisible to the software.
I'm not familiar with Mac programming though so I'm not sure if there are ways to code "hints" to the OS to indicate that these areas are optimized for MP or not.
But basially, that's how it works. So intuitively, you would think MP is always better, but its not necessarily so due to overhead and the nature of the task.
Also - to the person who said most apps are single threaded - what is your justification for that?