Bigness
Massive write performance
Fast key-value access
Flexible schema and flexible datatypes
Schema migration
Write availability
Easier maintainability, administration and operations
No single point of failure
Generally available parallel computing
Programmer ease of use
Use the right data model for the right problem
Avoid hitting the wall
Distributed systems support
Tunable CAP tradeoffs
In Short, I often have 20-30 local branches, one for each feature I am working on. They tend to be tested individually first. Occasionally, I create a new branch test and merge everything into that branch and do all the tests together. To track conflicts across branches I use git rerere. The advantage is that I can decide when a feature is stable enough to push to others.
The sites mentioned here, well most of them, solve at least one problem really well and they all have simple web addresses (URLs) that you can easily learn by heart thus saving you a trip to Google.