Kernels are the interface between the software (rom) and hardware (phone). They can
increase performance, wifi/network signal, and improve pretty much most things, but they can also do the opposite, depending on what you use your phone for. Generally, most custom roms come with their own kernel, or the developer will recommend one. With a custom kernel you can undervolt the cpu (doesn't make a huge difference to battery life) or underclock it (does make a huge difference to battery life), plus other tweaks.
CM roms tend to improve the performance of your phone rather than battery life, plus because they don't use the proprietary framework (i.e. they are a totally new firmware with nothing from the manufacturer) you'll lose samsung stock items like the camera, music player etc., as they only work within the samsung framework.
Your best option is something like the Android Revolution (ARHD)
rom, which is stock based, so you keep the samsung stuff, but tweaked for smoothness/performance/battery life. The link should be correct as it's for the i9300/i9305, but read it before you do anything, obviously.