Node.js is a JavaScript runtime built on Chrome's V8 engine that uses an asynchronous event-driven model making it lightweight and efficient for building scalable network applications. It is non-blocking which allows handling many requests concurrently without creating new threads. This allows Node.js applications to scale vertically and horizontally to handle increasing load. Common uses of Node.js include building highly scalable data/query intensive applications due to its non-blocking I/O model. It is not suited for applications that require blocking operations like long computations.