NPM stands for Node Package Manager.
What is a package manager? Instead of always programming everything from scratch, a package manager allows you to reuse other people's code in a clear, safe manner.
"Reuse other people's code" sounds a bit crazy, right? But you're probably already doing this when you use libraries like ReactJS and jQuery. Other people have authored that code, and you're using it. A package manager system manages the dependencies, or other code that you require.