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.