Jep, das stimmt schon. Aber ganz unschuldig ist Microsoft da auch nicht. Ein Betriebssystem soll ja eigentlich die meisten Funktionen schon selbst mitbringen und im Code haben. Linux hat zum Beispiel eine integrierte Steuerung für Drucker oder Eingabegeräte. Die alltäglichen Funktionen sind ständig abrufbereit im Kernel, der Rest wird geladen. Die Treiber kommen da ins Spiel, wo die Funktionen des Betriebssystems aufhören, schließlich darf ein OS nicht zu überladen sein.
Bei Windows ist der Fall aber anders als z.B. bei Linux. Während Linux die meisten Funktionen schon im OS hat und nur sehr wenige Treiber brauch (z.B. für Grafikkarten), ist Windows das genaue Gegenteil.
Dort wird fast alles über treiber geregelt, die Funktionen des OS sind sehr beschränkt. Treiber erweitern aber die eigenen Möglichkeiten des Betriebssystems, deswegen ist auch unberechenbar, was als nächstes kommt. Deswegen kann es sein, dass sich die Treiber nicht miteinander vertragen und so kleinere Fehler schon mal zu Abstürzen führen können.
Durch die verschiedenen Hersteller unterscheiden sich die Standards und Schnittstellen natürlich, da Windows ja sowas nicht hat und lieber Treiber will. Deswegen brauch man diese ganzen Schnittstellen.
Anders als bei Linux, wo es ja sowieso nur einen "Treiber" gibt.
Was am Ende besser ist, kann ich aber nicht sagen, weil ich mich auch nicht so groß auskenne. Wobei Linux natürlich seine Vorteile hat, weil das ganze nicht so kommerziell aufgebaut ist, und der Programmcode kein großes Geheimnis ist.