Quelle est la différence entre les dépendances, devDependencies et peerDependencies dans le package npm.fichier json?

Cette documentation répond à ma question très mal. Je n'ai pas compris ces explications. Quelqu'un peut dire en termes plus simples? Peut-être avec des exemples si il est difficile de choisir des mots simples?

MODIFIER également ajouté peerDependencies, qui est étroitement lié et pourrait causer de la confusion.