Compiling the Linux Kernel will either be the most frustrating or the most coolest thing a linux user have done. Bit it is also something any serious Linux User cannot avoid.
Why Compile a Kernel?
Kernel is the interface to your Hardware, re-compiling/patching the kernel would fix bugs and enhance performance of your hardware.
The How to
Step 1) Getting The Latest Kernel Source Code