Зачем нужен bower?
Короче в чем смысл прочих пакетных менеджеров кроме npm?
npm - менеджер пакетов для node.js тогда как bower- исключительно для браузера. Есть люди (например я) которые категорически ЗА такое разделение. Еще есть jspm и я надеюсь что когда-нибудь я на него перейду. Опять же тот подход который использует npm для фронтэнда конечно подходит, но есть оговорки.
И все было бы круто если бы не одно но: bower убог, как бы я его не любил. Уже пол года как не могут сделать lock файлы зависимостей... печально.... Ну а npm развивается. Гуглить npm dedup, так что оверхэд от использования каждым модулей своих модулей снижается до нуля.
Прелесть bower в возможности ставить зависимости куда тебе надо, а не в node_modules. Это незаменимо на легаси-проектах, например.
С другой стороны, если ты и на сервере и на клиенте юзаешь, например, momentjs, или у тебя изоморфный рендеринг на react — то не будешь же ставить одно и то же два раза двумя разными менеджерами.