NodeJS http module: what is requestListener?

The docs say that the method call takes a function which will be called when a new request is received by your application. This function, as you correctly stated in your question, takes two arguments - a request and response objects.

You should inspect the contents of these objects to learn what information is available to you. Also, take a look at the API docs for request and response.

The function is optional; you could also attach the request handler in the following way:

var server = http.createServer()

server.on('request', function (req, res) {
  // Process the request here
})

In practice, this function is called when someone opens up your website in their browser (i.e. issues a GET http request). The purpose of that function is to provide a HTTP response body back to the client, i.e. render a web page or perform any business logic as necessary.