A razão técnica mais simples é porque "eles estão em uso".
Se você criar um arquivo de imagem em pintura, salve-o, mas não feche a pintura e tente excluir o arquivo. O Explorer dirá que não pode porque está em uso.
Esta é a base para a reinicialização, é apenas quando a inicialização do Windows pode garantir não um programa estava usando os arquivos de drivers.
Em versões posteriores do Windows, eles criaram camadas de wrapper bem definidas (ou limites) em torno de determinadas áreas (como exibição). A camada fala com o driver subjacente, mas também é o único programa que poderia usar esse driver, então é um caso mais simples para 'desconectar' o driver e substituí-lo.
Eu acho no Linux e no OSX que essa abordagem em camadas é mais fundamental no design e, portanto, eles raramente precisam de reinicializações.