Off the top of my head the purposes I've seen for them: - building native bindings (node-sass) - asking for funding (core-js)
... Probably a few more but the native case is probably the biggest and the packages I'm using nowadays ship precompiled blobs in optionalDependencies. Install scripts seem to be out of favor.