В браузере js используется для манипуляций с загруженной страницей. Это язык, встроенный в браузер. Поэтому фронтенд по сути ограничен js-ом - нужно писать или на js, или на языке, который можно преобразовать в js.
На бэкенде node.js используется не просто для скриптов, а для самого веб-приложения. На бэкенде живёт основная логика, а в браузере - только пользовательский интерфейс. На бэкенде можно использовать какой угодно язык. Почему те или иные языки становятся мэйнстримными в индустрии - неочевидный вопрос. Объективно можно отметить такие свойства node.js как платформы: она не очень производительна, но очень оптимизирована для асинхронного ввода-вывода. Поэтому её имеет смысл использовать для приложений с нехитрой логикой и большой ролью ввода-вывода: грубо говоря, для прослойки между пользователем и базой данных.
Вообще, формулировка вопроса не очень понятная. 1 + 1 везде даст 2, в этом отношении реализации js в браузере и на node.js мало отличаются. Язык один и тот же, но применяется в разных ситуациях для разных задач.