For example, installing and uninstalling software is broken in Windows because there's no accounting by the operating system as to what was changed -- if an uninstaller is broken the user is pretty much stuck. If applications were forced to install themselves completely using a system API, then Windows could track the changes and simply undo them itself. This could be pretty low-level (it doesn't have to be MSI, for example) but if you want to write a file into the /Programs/ folder, you need to use an API that does just that. And if Microsoft decides to rename that folder again you are guaranteed that every application will continue to work.
This can be equally true of setting file associations, adding desktop/startmenu icons, the notification area, and auto updators. Applications have been allowed to basically spam your computer with icons and background tasks. This doesn't necessarily need to be sandboxed out of existence but instead held behind an API that empowers the user. Mobile operating systems already do much of this by asking you at install/runtime what access an application should have and then providing a system control panel for adjusting this access after the fact. Wouldn't it be great if there was a control panel that listed every background task started by Windows with the program it belongs to, a description, and the option to turn it off?