Is your team choosing the branching strategy from the beginning or is it switching after a while to better accommodate the current project stage? How does this affect you and what are the costs involved? Multiply this by the number of repositories, each playing a definite role in a large-scale project, and you will want to know how to minimize the impact.
The branching model needs to be simple - so that everyone involved can grasp it quickly; flexible - so it can serve the needs of very different roles within the project lifecycle; and adaptable - when you have a particular unforeseen need, it should not be a barrier.
See what others are already using, ask a few questions that might drive an adaptation of your choice, and then choose wisely. Then let your team spend their time on coding rather than painfully switching strategies.