Multicores are great for people that know how to work things on their computer.
For instance if your a musician and require near realtime performance from a full fledged PC operating system. Or you need to develop a computer system that needs to control equipment or do exactly timed measurements.
Multiple cpus allow you to do some special things, like set one cpu as a 'sheilded' cpu that is dedicated to running a certain task while the rest of the OS runs on the other cpus. This allows good response and performance from a system while allowing one or two proccesses potentionally sub-millisecond response times. (I can get sub-1msec response out of my system with special realtime preemptive kernel patches and 2496 audiphile audio card, but normal desktop response and performance is severely degraded)
Also software is much more flexible then hardware. Hardware can be made to do certain tasks quickly, but only those things. So you develop hardware that can run software quickly, and that's what multiple cpus are about.
For instance you have mpeg2 and mpeg4 encoding acceleration (and decoding) you can get from cards and such. But with software you can do special things like 2-pass encoding, encode quicktime, or theora ogg video, or whatever you want. To do the same thing with a pure hardware solution would be very expensive and only be usefull for certain applications.
Also cheap hardware can be nice and inexpensive, and stable, if you move hard-to-do calculations out of the hardware and into the software. Also other benifits are realised...
For instance that's what Intel mostly does with it's Centrino 'technology'. They move as much as possible out of hardware and place the load on the central powerfull cpu. Like Wireless stuff. This simplifies hardware, makes things cheaper for the end user, and increase battery performance.
So you have printers, ethernet connections, IDE controllers, software RAID setups and all that that takes a peice out of cpu time. They are nice, but when it takes 20% of the cpu just to run the computer it can begin to degrade end-user performance.
Then on top of that you have people that like to multitask. I'll have a browser open, be downloading something. I'd have tv being displayed on my monitor and on another X session I'd be playing some online FPS game it's irritating to have to switch back to close a browser window just because I accidently left it playing some crappy flash ads on the website I just visited.
Then you have the fact that your getting sophisticated libraries and support software that makes it easier for programmers to make multithreaded apps and the easiest way to get benifits from increased transistor density on chips is to add a second core.
So SMP's have all these sort of advantages over single cpu machines, however traditionally the cost of the motherboard, the extra cpu, the heat, and the extra large powersupply has made it pretty pointless for end users. But now with multi-core setups, it's going to be as cheap and as easy to get a single core cpu as a dual core cpu, so that's realy pretty cool and something to look forward to.