npm is Node's primary package manager, learn to use it well

Deprecating buggy npm packages, dealing with deprecations: Node.js package authors sometimes need to warn their users against using a specific release of the package. Typically there's a horrible bug that was fixed in a later release, and the users need to know to upgrade. With npm it's an easy command to mark a package version range as deprecated, causing warnings to print, etc.

Distributing, publicly or privately, Node.js modules without using npm repository: While npm is a great service, and makes the Node.js ecosystem shine, we don't always want to use it. Sometimes a package isn't ready for the limelight on npmjs.com, and sometimes we want to just use the package for ourself. Fortunately npm makes it easy to load dependencies from places other than the npm repository.