This can be as convenient as typing in "yo bootstrap" to set up a generic bootstrap site, to "yo phonegap-backbone" to set up a workflow for a backbone and phonegap application. It not only sets up the directory structures for you, it also manages requirements inside of your project from external parties, test environments, and gives you a nice little live-preview setup with grunt automatically.
For me, it takes a lot of that project setup time out of the way, so I can get started coding rather quickly.
So I still do most things the old school way. Then I'm done and writing code instead of trying to figure out why Yeoman is broken or the app it generates isn't loading.
To get a the scaffolding for a backbone app, and the pieces of a "blog" MVC module:
yo backbone # generates your application base and build workflow
yo backbone:model blog
yo backbone:collection blog
yo backbone:router blog
yo backbone:view blog
grunt server
[0] https://github.com/yeoman/generator-backboneFor example, app A depends on library B which depends on library C. If C is jQuery and those are all the dependencies you have, it's fine; but when a project grows a little larger, you do want a proper system.
This is not an uncommon thing; modularizing an app or library into many small, independent parts is simply good practice.
Concrete example: Our company has a library which is currently monolithic and too big for its own repo, so it needs to be broken up into many different modules.
For this we have to have a dependency system because every module in the library needs to be able to say that it needs another module to run.
Plus, if you are developing an app that uses (a bunch of modules from) the library, you want to be able to work on the module code concurrently. Having to minify/package library code and copy it into the app every time you make a change is very inconvenient.
Plus, eventually you need to bundle a single file, eg. mylib.min.js, that combine all the modules. Also a chore without a dependency system. Might be fine for just isolated one case, gets stupidly annoying for the next project, and the next, and so on.
What I like about Browserify is that you just require libraries in your code where you need them, and that way all dependencies are expressed in code; whereas Bower has explicit metadata, separate from the code, which may get out of sync over time.
For normal approach:
1. Google CDN jquery
2. Get the CDN link of jQuery
3. Add it to your template
For Yeoman/Bower:
1. bower install jquery
2. Get the link/path where bower installed jQuery
3. Add it to your template