The source code looks very similar: pump, pipe. Why would I use one instead of the other? Is one simply a better version of the other?
UPDATE: 28/04/2020
It's worth to say that pump is only necessary for Node.js 8.x or earlier, as for Node.js 10.x or later version, pipeline is introduced to replace for pump. This is a module method to pipe between streams forwarding errors and properly cleaning up and provide a callback when the pipeline is complete.