Question: I use a version control system (formerly subversion, now git) to write papers, which for me works very well and is convenient. A few times, I even worked with branches for different logical versions of a paper, such as versions submitted to different journals. However, I found branching of little use for paper writing. When I used different branches for different journal submissions, I found myself working only on the "latest" branch anyway, since I can anyway only submit one version per time, and, if it is rejected, will not continue to work on that particular version at a later time. I didn't find any other good use of branching in paper writing, and later skipped it completely.

Is there any advantage of working with several branches when writing a paper with a version control system? How should one organize the writing process in order to profit from such an advantage?

Answer: 
I use HG, but it is essentially the same as GIT, in that branching is easy. I branch all the time when working with coauthors. The branches tend to be short lived and merged pretty quickly. Basically, I distribute a copy to my coauthors and each set of comments I get back form different branches. This lets me see each authors comments individually. I then work on merging the comments back into the main trunk. Sometimes the merge is easy and the branch is one commit long. Other times it might take longer if I need to work out something (e.g., math, model, or analysis) which might require a couple of revisions before it is ready to go into the main trunk.
In principle, branches seem like a good idea. A potential use case would be:

* working on a draft of a paper
* as we get close to the conference deadline, putting the paper in the conference format and reducing to the prescribed size
* finding typos in this version and fixing them
* merging the typos back into the "main version"

In practice, I've never done this, because I'm not organized enough. Also, svn is not as friendly to this workflow as git is, for other reasons.