OS X has load balancing, which means you can watch individual unoptimized apps hop to the less crowded processor. If you have an optimized app, then each app will split up it's to do list between the two processors.
So if you have one giant unoptimized app, then it will hog up one processor leaving the other one lonely and unused. Right there, you lose a lot of performance.
But if you have a giant unoptimized app, it'll try to use both processors as equally as possible. But it's not quite efficient enough of a process and eats up processor cycles doing that as well.
The machines won't come close to the performance of a 1GHz G4. I believe someone quoted a 30% gain for unoptimized apps and 70% for optimized apps in general vs a single processor machine.