npm scripts have been there from the start. I've been using them as my primary entry for some while. Even with grunt/gulp, as you can simply use the version defined in package.json with a project instead of relying on a global, potentially incompatible version.
Beyond this, in general, it's just easier to work with. If you need more, a ./scripts/ directory with one or more scripts started via npm that use shelljs works very well.