Есть две важные вещи, которые отличают Node.js от существующих серверных сред, асинхронные события и использование JavaScript в качестве языка программирования.
Асинхронные события
В то время как большинство существующих серверных сред используют синхронную архитектуру, Node.js использует асинхронную архитектуру, с которой хорошо справляется JavaScript. Это означает, что сервер реагирует на события и отправляет события (сообщения), например, в базу данных. Этот стиль программирования очень отличается от синхронного стиля, и его может быть сложно использовать с другими языками. Node.js использует асинхронный стиль с асинхронным вводом-выводом и может хорошо масштабироваться.
Смотрите также Event-Driven Architecture
JavaScript
JavaScript - это язык программирования, который веб-приложения используют на клиенте. Использование одного и того же языка на стороне сервера означает, что разработчик может применять свои знания JavaScript как на клиенте, так и на сервере, и использовать те же функции, что и при необходимости.
Я бы порекомендовал презентацию Введение в Node.js с Райаном Далем, где он более подробно объясняет управляемую событиями архитектуру Node.js.