When/why do I need to make/install linux headers?

You need the linux headers when you plan to develop and compile on the machine where you've installed Ubuntu.

If you build an appliance dedicated to a specific task, you are certainly not willing to compile on it.

If you need to compile your own application, you will do this on an different system. A development one and copy the compiled code to the appliance.


I have never heard of this tool and suggest you follow the Kernel Team documentation for building a kernel from source.

Installing kernel-headers never hurts and is required for any build from source driver provided by a dkms package.