The kernel acts as a mediator between your programs and your ["Hardware"]. First, it does (or arranges for) the memory management for all of the running programs (processes), and makes sure that they all get a fair (or unfair, if you please) share of the processor's cycles. In addition, it provides a nice, fairly portable interface for programs to talk to your hardware. There is certainly more to the kernel's operation than this, but these basic functions are the most important to know.

See :