
When using standard source.pipe(dest) source will not be destroyed if dest emits close or an error. You are also not able to provide a callback to tell when then pipe has finished. pump does these two things for you.
Node.js is an event-based server-side JavaScript engine.