Update: The Node.JS event loop is key to what makes Node so great.
Be sure to check out this explanation before deciding if NodeJS is right for you.
Node.js has quickly become one of the most popular platforms for application development. It's fast, easy to understand, and has one of the most explosive communities today. Whether you are a beginner or advanced engineer, you can't deny the benefits of choosing Node.js for app development.
Ubiquity comes into play even at the database level. Other platforms may have sophisticated ORM libraries for reading/writing objects to a database, but they still require SQL written queries. These can get cumbersome to the point that many companies hire full time SQL developers. With Node, database queries can be written in JSON. Database engines like MongoDB and CouchDB even store records as JSON objects, completely blurring the line between the front/back end.
While a great debate exists as to whether Node.js is faster than Java, everyone can agree (at a minimum) that nothing is lost, performance wise, with Node.js. Its ability to handle asynchronous requests is arguably superior to other environments. Bottom line, performance is not a reason to NOT use node.
Everyone in the development community can agree that Node has a tremendous amount of momentum behind it. Just check Module Counts to see how explosive Node's growth has been in the past few years. Compared to its competitors (Ruby Gems, Maven, PyPI), NPM has had 150,000+ new modules added to it's registry (vs less than 50,000 for some competitors) in 2016.
Despite Node's explosive growth in the past few years, it still lacks in some areas. Unlike Java's Eclipse or IntelliJ, Node doesn't have a dominant IDE. Although IDE's like Webstorm and Node-Red are taking nice stabs at it, there still exists a void here. Additionally, Node hasn't been around for as long as some competitors, namely Java. The JVM has been around for years. It's been rigorously tested and provides a level of sophistication that Node has yet to supersede. This is especially important from a security standpoint, as many enterprise level developers still flock to Java for its more established reputation and tested frameworks.
It may be a few years before Node is as trusted as Java. Despite its shortcomings, both Node's ubiquity and momentum are making it a highly recommended choice for developers in today's world.