Putting a slightly different spin on what pulsewidth said, storeing the energy for the spark in a magentic field takes time, typically 10-20ms due to the time constant of the coil primary. A 6 cyl engine doing 3000rpm has a spark every 6.7ms and so there is never a full energy charge available. It gets worse at higher revs.
A CDI stores the energy in a capacitor which can be charged in microsecs so it works much better at high revs.