It's event-driven and asynchronous because it lets the code set up actions that will happen when something occurs, rather than when you call it from another function. For instance, an HTTP request is an event that could start a function running. Multiple functions, or multiple invocations of the same function, can be running at the same time.
Node is often used with Express.js, a Web framework. Node understands the HTTP protocol, but not specific request types like GET and POST. Express saves programmers from the tedium of coding common operations on request types, URL parameters, and cookies. It's described as “minimalist” and “unopinionated,” and often it's used with templates for specific approaches to Web design.