Branching and merging are two inherently related functions that are due for a long-awaited upgrade in Subversion 1.5. In this article John Ferguson Smart explains branching and merging in Subversion ...
The biggest two are in fact a problem with the the (eminently sensible) design choices for git/mercurial to store the repository files as compressed chunks (and to do so locally as well) and as diffs.