Best when used internally. I believe they use modules under the hood.
Better for sharing publicly with others (e.g. via npm package). There is a much better sharing ecosystem around modules.