Code:
What is the purpose of kernel compilation?
the Linux kernel is what interfaces with your hardware and newer hardware is always out in the market. A newer kernel will probably support that hardware. Hardware might not be the only reason you will want to upgrade to a newer kernel. The kernel is not flawless code. There are always going to be bugs found and fixed. The kernel will need to be patched and re-compiled with these fixes in place.
Code:
What is cross & native compilation?
A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is run. Cross compiler tools are used to generate executables for embedded system or multiple platforms. It is used to compile for a platform upon which it is not feasible to do the compiling, like microcontrollers that don't support an operating system. It has become more common to use this tool for paravirtualization where a system may have one or more platforms in use.