When was the last time you redistributed modified software as a user? You can benefit from free software without ever writing a line of code.
There is no obligation to upstream anything after all, you just gotta provide the code if someone asks... And why would you care as a user?
You might want to give out or sell customized devices, adapted to the specific user or deployment. The end user typically only wants the binary, so distributing the source is at best a good-faith-waste-of-time and at worst an opportunity to cause support problems.
The example I'm thinking of is keyboards running QMK firmware-- it's literally customized by editing a bunch of C and recompiling.