There are cases where it is simply more practical to download the linux kernel source and headers for the version you're interested in directly from http://kernel.org (a pretty reliable URL/site that isn't going away [e.g. standard stackoverflow concern about stale links isn't not an issue])
Reason? For example, you might be interested in debugging an older/defunct no-longer-supported version of linux where package repository points to dead areas, where in some cases there are either no viable current alternatives, or the repos has are expired keys that won't let you get the stuff, requiring unmemorable difficult to search out arcane techniques to get those repositories to work anyway.
Or maybe Internet networking might be broken on Linux machine (or VM) you're using, but file sharing or NFS works, where the source can be downloaded onto another machine and accessed via the filesystem.
If you're working with a relatively obsolete version of Linux, chances are you'll have to build a number of things from source and get them the hard way.
This link might be useful to you: https://help.ubuntu.com/community/Kernel/Compile/
– Mark Paskal Jul 05 '12 at 05:50