npm is a package manager for JavaScript. It includes a command-line tool, coincidentally called npm, and it uses an online repository known as the npm registry to find, retrieve and deploy new packages your code might need. The SharePoint Framework uses npm packages in the base template you'll typically be using. In addition, new SharePoint Framework templates and functionality will be published as npm packages.
Think of npm as the tool that allows you to interact with a vast library of pre-made packages, that in turn will aid you in building SharePoint Framework packages. The rough equivalent of npm in the .NET world would be NuGet.
For example, the package named @microsoft/sp-client-base is a base package that the SharePoint Framework uses in the base project template, and the latest stable version will be automatically fetched from the npm repository at https://www.npmjs.com/package/@microsoft/sp-core-library.