Basicamente A reinicialização dependeria das alterações feitas pelo software . Para responder às suas perguntas:
What is the computer doing technically that requires a reboot?
Se o Software estiver instalado no Windows, normalmente, a reinicialização corrigirá as alterações no registro do software.
Why can't it update or install programs without rebooting?
Deixe-me dizer que seu software de instalação cria uma nova conta de usuário, isso não pode ser feito sem afetar / interromper as ações do kernel. Essas são as alterações feitas no software que interrompem as propriedades básicas do sistema operacional. Para suavizar o processo, os fornecedores de software forçam você a reinicializar.
Why hasn't Microsoft or others figured out how to update/install programs without reboots?
É a arquitetura principal deles. Você pode perceber que as máquinas Linux não precisam ser reinicializadas desde:
De resposta do booby :
The major reason for this behavior is that Linux doesn't lock executed files and libraries, which allows direct replacement of those files and does only require the applications to restart. For installations is the reason the package-management-systems, while in Windows every program installs all needed libraries (even if they're already installed, but when they are in use they are locked, which needs a restart to clear the situation) in Linux an application only references the needed packages which are installed once (and never again), reducing the overhead.