Maybe - but if you go over 100% then you can see that the app is multithreading and using multiple CPUs.
Given that most computer CPUs these days are a similar speed (2 to 3GHz) and more power usually comes from having ore CPUs, the % rating is also quite a good measure of relative speed.
One thing I like about this way is if a process is unresponsive in OSX, Activity Monitor shows it using 100% CPU and so is readily identifiable. On Windows, it's at 25% (on a quad core machine) or 12.5% (on an octo core) so it's not as obvious.
Since many processes execute only on one core/processor, I think it makes sense to specify that process' CPU usage just in terms of that core.
Actually it basically is. A two processor machine and a two core machine are identical for virtually all uses. The only real differences one could measure are in bus/cache contention.