Basically, a conventional fluorescent ballast is basically an inductor connected in series with the tube. The inductor limits the flow of current due to its impedance (Z = L . 2 pi . F), where F is frequency of the AC supply - it esentially acts like the ballast resistor in an LED circuit. The inductor is also used in combination with a switch-starter to generate the strike voltage for the tube (by interrupting the inductor current, a very large back emf pulse [0.7 - 1.5 kV] can be generated).
In an CFL, a large 50/60 Hz inductor is impractical. Instead, an electronic rectifier and inverter is used to generate AC at about 20 kHz. This allows a very small inductor to present a high impedance sufficient to stabilize the current through the tube. Auxillary windings on the inductor can be used to generate the strike voltage. The 20 kHz waveform has 2 other advantages: 1 - there is no flicker or audible hum due to the high frequency, 2 - it improves tube energy efficiency and prolongs tube life.