What the hey, I'll give it a go.
Most traditional Linux users recompile the kernel to optimize it for their hardware. Linux as distribuited is intended to support as much hardware as is reasonably possible, so the odds of it being usable 'out of the box' are greater for the majority. For instance; You don't need every network card driver known to man (or machine), just the one for your card.
If you download a driver (or a module) as a tarball. You have to unpack it (see man tar, man gzip) Like unzipping a zip file... Lots of folks recommend working out of your home dir to do this... Personal preference I think.
Then you have to compile it, you pretty much have to have the kernel development stuff installed and have compiled the kernel to do this. Unless you're running the 'stock' kernel, which would match your kernel source stuff which you still need to have installed.
Most packages come with things all set up to make it reasonably easy to to do this. Usually this is outlined in a readme or something of that natrue. Or documented where you obtained the tarball. Frequently both.
Traditionally ./configure, make, and make install for 'software packages; and maybe ./configure make and insmod... for drivers I think.
After compiling it, one has to install it. Either adding it, along with any arguments or whatever to etc\modules or modules.config or whatever your distro uses... Or one one can test it 'on the fly' by doing an insmod on it (insert or install? module) again with any appropriate arguments... Note after testing it, you would still add it to modules so it's loaded automatically at boot time.
You can choose to build some drivers / modules into the kernel, or keep them as modules. Smaller kernels load faster and are more portable, like if you needed Linux on a floppy for a rescue disk or whatever.
Some folks like to make the kernel as small as possible, just to see who can be 'lete (eliete), super hacker, etc... Whatever, I'm happy if everything works well and boots quickly myself. I have plenty of room for the kernel.
This is the $0.05 tour, of the whole idea. I probably have a detail or two fuzzy or completely off base, but that's the general idea. And someone will no doubt point out my errors, then I learn too
For that matter, someone probably spun out a better explanation while I was wavering on how to put this 'n that...