Advantages:
1. shit gets done 2. concepts that you learn get applied immediately, so the concepts stick in the brain better 3. harder to lose motivation since shit is getting done 4. it is harder to understand certain concepts abstractly, after all we are talking about programming, not theoretical physics; most programming concepts are better understood in practice esp. web based stuff. So reading and applying immediately is most often the right way to go.
Disadvantages:
1. there might be advanced functionality that you might miss if you skim through and apply, however most advanced functionality are optimizations and as we all know 'premature optimization is the root of all evil'. Donno who said that but it was someone famous. So this isn't a real disadvantage at all.
In summary, I would recommend a depth first approach, with the caveat that you go really deep into the things that you do need in the project and ignore the things that you don't need at the moment.