Не без того, но есть и более банальные причины. Ну вот захотел кто-то сделать веб-проект - то, что нынче стартапами обзывают. Морда ему один хрен нужна, а бэкэнд запросто может оказаться тривиальным, особенно если вся работа в браузере делается. И за счёт нода вполне реально сэкономить на бэкэндщике. Когда оно делается без финансирования от большого дяди - вполне важный фактор.А для живого проекта - это возможность более равномерно загружать команду и, опять-таки, сэкономить на зарплатах. Минусом, понятное дело - то, выходит больше кода на JS, поддерживать его - невелика радость, но местами нода - вполне разумный выбор.
И таки в виде "для масс" async i/o в ноде появился таки первым. Оно было где-то там в виде libevent, в эрланге, в скале... А тут - в совершенно мейнстримной упаковке.