Per tanti motivi.
Uno che mi viene in mente è quello di far trovare le dipendenze alle dll. Esempio: Se lavoro con le dll di vlc queste dipendono da altre dll. Siccome nella cartella di vlc ci sono tutte le dll in un unico posto, se io da un programma esterno devo chiamare una funzione di una dll che dipende da un altra, la prima non troverà la dll da cui dipende perchè sto lavorando in un altra cartella.