When I was starting with Linux back in the mid 90s, I used to compile the Linux kernels, which usually takes from an hour to half a day depending on your RAM and processor speed, to enable bleeding edge Linux features and/or add drivers and/or modules that are not part of the default kernel. Sometimes, I do it to optimize the kernel to suit my needs. :) It would have been great if there's a how-to guide on kernel tweaking and optimizing. Now there is and it is available as a free download!
If you want to know how to build, configure, and install a custom Linux kernel on your machine, buy this book. It is written by someone who spends every day building, configuring, and installing custom kernels as part of the development process of this fun, collaborative project called Linux.