I know that i sound kind of a noob but i had this question from the day i started tweaking my phone .I know that without kernel sources it is very hard to get drivers for the phone for the sake of custom ROM support but my question is why can't i just download the drivers from the manufacturer website as i download for my pc .i can install the desired android version i want and if the driver is available for the respective Android version i could simply install it as an application as i would do it in my PC.what exactly the kernel sources contain.
Android doesn't work like that, many if not most "drivers" are closed source proprietary binaries and shared libraries, as well as some firmware files in kernel sources. You can't flip drivers on Android devices like you can in Windows as those "drivers" are tightly built into the Android system, tied to numerous sevices and many standard libraries as well. Your customization options without rom hopping or upgrading API level [if that firmware exists], comes with rooting your devices, dumping you stock recovery, disassembling the image and beginning to construct your device tree , then getting hold of android source code build system and having a ball! Should be doesn't factor into it. it is what it is.
BUT, getting hold of the kernel source and "correcting" shortcomings has alot more possibilities. check out the forums on xda [the good ones anyway] and you'll see what goes into the process.