From an older post, basically giving the lowdown on WHY timing plays a role in power:
The REASON timing gets advanced at a certain RPM isnt so much for power, although thats a byproduct, its because at higher RPM's there is less TIME to be at XYZ* and it takes TIME for the spark to jump the gap, SO, we start the ignition event ahead of shedule so that everything will happen at the point of peak power.
Lets figure it this way, dont look at the numbers, but look at the theory...
Lets say at 800 rpm, the point of power is 4* ATDC (point of power being the point where the explosion in the chamber will generate the most amount of force on the piston which will force the crankshaft around). Lets say at 800rpm the engine will be at that point for 1mS, and it might take 1mS for the spark to jump the gap. So if the timing event is shot at 4* ATDC, the spark might actually occur at 7* ATDC. So, we advance the timing say 7* from that 4* now were firing the mixture when it will generate the most force on the piston.
Now, Fast fwd to 1500-1800rpm (where most centrifugal advance would come in on a dist car). Lets say now theres .5mS worth of TIME at the point of power, and the spark still takes 1mS. Now by the time the plug fires and the charge lights, we may be at 12* ATDC. So, to get back to that point of power we need to start the timing event even earlier. Lets say we advance the timing 12* so that the spark event will coincide with that original 4* ATDC power point.
All else equal, if you set the timing at 0*, the spark/ignition event might not come off until 30* ATDC maybe... LONG after the point of power, and much of the power stroke is WASTED. Now, you may gain it back by using NOS, more boost, whatever because you're making the engine effectivly LARGER by using a power adder, but making that larger engine VERY inefficient!
So you see, there is a balance of how much timing is optimal for an engine to make power. Pretty much as Carl said.