everyone needs low power, but not everyone is willing to sacrifice performance to get low power.
that's the key issue here.
the optimal performance thing is to distribute the work as widely as possible to reduce the performance impact of shared resource contention (even if that shared resource is just the cache attached to a particular core)
But that leads to many cores running at a small fraction of their capacity.
the optimal power saving mode is to get as many cores as possible to be completely idle so that they can be powered down, even if this reduces performance.
which one is the right choice depends on what you are trying to do, but if I purchase a machine with 8 cores, I don't want the system slowing my response time by 10% because it thinks that approximately the same performance can be achieved by only using 4 cores. If I was willing to accept that, I would have saved money (and even more power) by only buying 4 cores in the first place.