One of the great things about the new generation of DVCS (such as Git, which I use) is that an individual developer has great control over how they choose to work. Using Git, I can create my own private branches that mean specific things to me but not necessarily anybody else, and work with them locally without anybody else even needing to be aware of their existence. I can move changes between those branches, sort and organise commits, and only push my changes upstream when I'm ready to share them.
With a centralised system such as CVS or even Subversion, creating a branch is a world-visible, heavyweight operation that actually changes the shared repository. You have to be diligent in naming your branches (so individual developers don't collide) and manually clean things up when you're done.
Having said the above, Git also supports public branches easily, where I can create a branch, do some work, and push it upstream so that others can collaborate on that branch with me. Or, I can create a branch and a coworker can pull it from me directly without having to share it with everybody.
The site Why Git is Better Than X has more information about this feature. In fact, the first item is titled "Cheap Local Branching".