Les dépendances c'est asses simple en fait, un example évident : si tu veux utiliser des application graphique il FAUT x11 (un environnement graphique), c'est donc une dépendance.
De nombreux packages sont en fait des librairies utilisées par d'autre packages qui sont des programmes.
Le parrallèle avec windows : librairies <> DLLs, s'il un programme a besoin d'un DLL mais ne la trouve pas il ne pourra pas se lancer, donc soit les DLL sont livrés avec, soit il faut la télécharger à la main (certains prog en VB par exemple demande un DLL que si on ne possède pas un environnement de dev, il faudra télécharger).
Un grande parties des librairies sous windows sont livrées à l'install de l'OS, d'autre peuvent être installées apres coup (comme directx).
Sous linux, c'est la meme chose sauf que les librairies sont installés seulement si on en a besoin étant la dépendance d'un programme, ou bien on peut les installer à la main si on veut developper avec.
PS : les dépendances ne concernent pas que les librairies, un programme peut aussi dépendre d'un autre (ex: un environnement de dev va dépendre d'un compilateur voir d'un débugueur)
A part si on veut Linux From Scratch les dépendances sont gérées automatiquement (plus ou moins bien il est vrai) par les distributions (rpm, deb, ebuild .. ect ..)
-----