Microsoft использовала C++ для разработки Windows из-за его низкоуровневого контроля, высокой производительности и независимости от внешних сред выполнения, тогда как C# не подходит для системного программирования из-за сборщика мусора, зависимости от .NET и отсутствия низкоуровневых возможностей.
Шарп еще в проекте не существовал, когда фундамент Винды заливали на плюсах и Си. Это как спрашивать, почему Римскую империю не на танках строили. Ядро ОС на управляемом коде с жирным рантаймом? Гениально, просто гениально! Производительность сразу в /dev/null улетит. Там легаси-код еще мамонтов видел, его переписывать никто в здравом уме не станет. Для системщины, для прямого дерганья железа нужен натив, а не вот это вот все. Сначала букварь по истории IT и архитектуре ОС осилить, потом уже вопрошать.
скорость работы, конечно же. Да еще на С++ поддерживается встроенный ассемблер, где требуется критическая скорость работы. Другие языки - этого не позволяют.
Где требуется максимальная скорость работы, пишут на Си, ассемблер и С++.