Is the best reason to use Node.js really just that it supports asynchrony? I'm sure Go also has that and Erlang has existed for a long time. There are many other options, so why Node?
- Yes, built-in async support is very important
- Everyone has to write JS at some point anyways -- it helps to take advantage of what everyone already knows
- You can easily share code between the client and the server
- There are tons of modules available on NPM already
- The compile-to-JS languages are getting more practical every day, and you can integrate them with existing JS code
If you consider time spent learning a platform compared to what you get out of it, Node.js is probably the best bang for your buck today.