NodeJS is a technology for the development of applications with a universal purpose. It basically consists of a Javascript execution platform, which is known as a "runtime", on which all types of programs can be executed.
To explain it in a more practical and understandable way, NodeJS is the Javascript language taken from the browser context. Those who set out to invent it knew how to assess the power of the Javascript language and used the "V8" engine (the open source Javascript engine of the Chrome browser) to create an execution platform capable of taking advantage of the popular language to undertake a wide variety of Projects.
With NodeJS you can build traditional web applications, such as websites. In fact, there are several CMS projects based on Node. However, the most common use of NodeJS is the development of web services that return data in JSON format, which we usually call a REST API. Also with Node we can build multiplatform desktop applications, which have a capacity compatible with Windows, Linux and Mac, as well as console programs. Many day-to-day developer tools are made using NodeJS, from publishers such as Atom or VSCode, to task automaters such as Gulp or asset packers such as Webpack or Rollup.
One of the main characteristics of NodeJS is to undertake many tasks with low resource consumption, which makes it especially interesting for the development of high concurrency services.
Among the main advantages of Node JS are: Speed (runs on Google's JS engine), I/O paradigm without blocking, data transmission (HTTP requests and responses as a single event), same language (javascript), both on the client and on the server, unified database queries (JSON format), easy and fast coding, good package management thanks to NPM (and Yarn), proxy server capacity, fast development cycles and business logic in the server.
But in case you are still not convinced of the importance of Node JS and its service development, here are some of the companies that use it: