Event Driven means changes in state or events determine application control flow. Unlike languages like Java, Node.js is single threaded. It has an Event Loop that listens to various events and executes registered callbacks. Imagine how you attach callbacks in JavaScript :
window.addEventListener('load',function(){
// Do something here
});
Once window loads, your callback is invoked by JavaScript. Same principles apply to Node.js. For example, imagine you are doing some file I/O. Node can't just keep waiting until some data is read from the file. This will block the thread as Node.js is single threaded. So, the solution is doing things asynchronously. The fs module lets you register a callback that will be called once data is read from the file.
fs.readFile('file.txt','utf-8',function(err,data){
//Do something with Data
});
This way your callback gets executed (asynchronously) once the operation is done (an event signals this) and it doesn't have to block the thread. You will frequently find these kinds of APIs in modules like socket, http etc.
TIP
Read this.