npm (Node Package Manager)
Package and dependency management. Similar to NuGet
Uses a generator framework to provide scaffolding for Client Side Web part Projects. Similar to Project templates in visual studio. E.g. SharePoint project templates in Visual Studio
Visual Studio Code or any IDE that supports client-side development to build your web part.
Use for Building and Debugging web applications
This is similar to MSBuild. It automates the repetitive tasks for Build, packaging and deployment processes during the development.
To Preview client side web parts running locally without deploying to SharePoint