Usually software designed explicitly for the hardware where it runs, while OS software is designed to run on general hardware. If there is hardware specific fixes, they might be skipped as it'll make compatibility worse while software designed for exact hardware doesn't make tradeoffs like that at all.