Naja, den Grund finde ich relativ einleuchtend:
- Alle Programme in einem Unterordner gesammelt für die Übersichtlichkeit.
- Einen lokalisierten Namen für diesen Ordner für Menschen mit geringen Englischkenntnissen.
- Beides obiges auch für Datenverzeichnisse.
- Bei Datenverzeichnissen insbesondere, falls mehrere Programme Daten teilen - dann gibt es einen zuverlässigen bekannten Pfad dorthin.
- Netzwerksysteme können diverse Benutzerspezifische Ordner auch einfach auf einem Netzwerklaufwerk verwenden, ohne daß Programme damit Probleme haben.
- Benutzer können ihren Datenordner auf eine andere Partition verschieben (das einzig sinnvolle bei einem Jährlichneuinstalliersystem wie Windows ) und Programme können ihre Daten dank ShellAPI immer noch wiederfinden. Allgemein können diese Ordner verschoben werden, ohne daß Programme plötzlich aufören zu funktionieren.
- Da die Shell es erlaubt, immer den gültigen Pfad dafür auszulesen, kann der sich sogar zwischen Windows-Versionen ändern, ohne daß Programme sich updaten müssen (Vista etwa ändert da einiges - kein Problem wenn mans über die ShellAPI macht).