> I think engineers greatly over-estimate the value of code reuse[...]The only time reuse really matters is in network protocols.
The whole idea of an OS is code reuse (and resources management). No need to setup the hardware to run your application. Then we have a lot of foundational subsystems like graphics, sound, input,... Crafting such subsystems and the associated libraries are hard and requires a lot of design thinking.
There is a balance. Some teams take DRY too far.