While there have been some very good attempts at making server-side JS (SSJS) work, IMO NodeJS is the first to get it right. With the growing ubiquity of JS, the scalability of NodeJS, and the explosion of JS-based document storage its success is not surprising.
The ability to create a scalable platform that uses the same language from data storage to UI means developers can focus on being a JS expert without having to spread their time and abilities thin being mediocre in many languages.
I totally agree re: single language/data model instead of spreading time and abilities. It is definitely cool to know a variety of programming languages (and I've used about a dozen of them in commercial work). But it's great to work with a single language from top to bottom -- like we do when writing native apps). In my opinion, it frees-up brain space and cycles.
3. It shouldn't be a turf war. It isn't for everything. But, I'd rather write in javascript than erlang, scala, haskell, etc. and I'm sure others would be in the same boat.
4. Heroku, etc. are starting to host, so it kind of already is. Any fast, simple web-based service could be a good candidate for node.js.
The ability to create a scalable platform that uses the same language from data storage to UI means developers can focus on being a JS expert without having to spread their time and abilities thin being mediocre in many languages.