In embedded projects, firmware can quickly become tangled with hardware details. If that dependency is not controlled, every board or sensor change can ripple through multiple files.
A simple boundary between product logic and low-level drivers makes testing, replacement, and debugging much easier.