One benefit of using the decentralized 'every programmer has their own branch' approach to source control that I hadn't thought of until I tried it: You can commit more frequently.

This is because you can commit without impacting others. With CVS and subversion I usually keep a little commit text file where I pile up the commitlog notes until I have a sourcecode tree stable enough to commit (i.e. all unit tests succeeding). With BazaarNG I just commit away as much as I want, and then rsync to the public branch when I'm done.

N.B. I'm frequently away from a net connection (travelling on trains and buses), and so the times I get to commit aren't always the times when my source tree is stable enough to.