So the branching model I usually use is similar to the following:
http://nvie.com/posts/a-successful-git-branching-model/
However, I am currently employed where they are creating a new branch for every new release. For example, they are merging 1.0 out of master at which point master becomes dead. When they needed to start 1.1 development they would merge 1.1 out of 1.0. When they are finished on 1.0, they would deploy it into production and that branch would essentially become dead. You can do the normal and merge off of the release branches for major features and merge back into it when finished.
The only thing that I can think of that makes this extremely useful is if you for some reason are doing a hotfix on something other then the previous release. Because that branch is always there you could go back to it and make changes and commit a hotfix. (or create a branch off of it and merge it back in). They are tagging releases ect...
This seems really unintuitive to the way git was designed as you don't really have a main branch.. your main branch is the last release you merged off of the previous branch. I think this may work better for multiple lines of development.. If you are working on 3 releases at once. Is there any issues that could come up from using git this way?