Why configure the kernel?
When the system is installed, it comes with a generic configuration that's designed to run most any application on most any hardware. The generic configuration includes many different device drivers and option packages, and it has tunable parameter values chosen for "general purpose" use. By carefully examining this configuration and adjusting it to your exact needs, you may be able to enhance your system's performance, security, or even reliability.
Modern Linux kernels are better than their ancestors at flushing unwanted drivers from memory, but compiled-in options will always be turned on. Although reconfiguring the kernel for efficiency is less important than it used to be, a good case can still be made for doing so.
Another reason to reconfigure the kernel is to add support for new types of devices (i.e., to add new device drivers). The driver code can't just be mooshed onto the kernel like a gob of Play-Doh; it has to be integrated into the kernel's data structures and tables. On some systems, this procedure may require that you go back to the configuration files for the kernel and add in the new device, rebuilding the kernel from scratch. On other systems, you may only need to run a program designed to make these configuration changes for you.
The kernel is not difficult to configure; it's just difficult to fix once you break it.