Ответ 1
npm
- диспетчер пакетов nodejs. Поэтому он нацелен на среды nodejs, которые обычно означают проекты nodejs на стороне сервера или проекты с командной строкой (сам bower - пакет npm). Если вы собираетесь что-то делать с nodejs, то вы собираетесь использовать npm.
bower
- это менеджер пакетов, который нацелен на (front-end) веб-проекты. Вам нужно npm и nodejs для установки беседки и ее выполнения, хотя пакеты bower специально не предназначены для nodejs, а скорее для среды браузера.
composer
- менеджер зависимостей, который нацелен на проекты php. Если вы делаете что-то с symfony (или простой старый php), это, вероятно, способ пойти
Подводя итог:
- Выполнение node? вы делаете npm
- делать php? попробуйте композитор
- front-end javascript? попробуйте беседку
И да, файлы "json" описывают базовую информацию о пакете и зависимости. И да, они нужны.
Теперь, как насчет README?: -)