I'm not a big fan of CDI. It produces a "hot" spark, but the duration is so short that the total energy of the spark is lower than a good Kettering spark. You want long duration so you initiate a larger flame front. A hot, but short, spark only ignites a tiny kernel and if the mixture is weak, the kernel will propagate slowly. Having a larger kernel will ensure a more thorough burn before the exhaust valve opens. However, a good mixture will propagate fast enough that the duration of the spark won't matter since the propagation will outpace the creation of the kernel from the spark.
The end result is, if spark energy or duration makes a significant difference on the running characteristics of the engine, then most likely the engine has condition problems or the mixture is weak.
I beleive it was John De Armond that had a good write up on the subject.
This only pertains to mostly stock motors, and does not include 2-strokers. 2-strokers have oil-foul issues so a CDI is very useful since it can blow through the oil
because it is capable of higher spark voltages. It still suffers from short duration, but arcing through the oil becomes a bigger priority.
To get around the problem of such short duration on CDI, MSD fires multiple sparks. The problem is that it can't do it fast enough at higher RPMs, so the extra sparks drop out at higher RPMs.