Kernels allow one to change various settings such as Overclocking and Underclocking the voltage, etc. It will allow them to control the frequencies, schedulers, governor, voltages, etc. Sometime a kernel can improve battery life and the fluidity of the phone depending on what ROM is being used. It also allows one to possibly have the "fast charge" option. I'm currently running KT747 kernel (just google it)