Well, at the risk of sounding redundant,
Header files are just the header files.
The kernel source is the full kernel source.
When you build modules most of the time you only need the headers
for your running kernel.
If you want to build the kernel you need the full kernel sources.
If none of this made any sense then you probably don't need them anyway.
Hope that helps.