Why do I have to use vinyl-source-stream with gulp?
I think that reading this article gulp The vision, history, and future of the project can help you to clarify a few concepts.
Basically you can say that vinyl-source-stream convert the readable stream you get from browserify into a vinyl stream that is what gulp is expecting to get.
A vinyl stream is a Virtual file format, and it is fundamental for Gulp. Thanks to this vinyl streams Gulp doesn't need to write a temporal file between different transformations. And this is one of the main advantages it has over Grunt.
This module is just a bridge that makes it simple to use conventional text streams such as this in combination with gulp.