Source Control, like TFS 2010, provides many branching options. You need a branching strategy because once you are down a branching path, so to speak, it is difficult to turn back. A good strategy is simple to understand, easy to implement, and provides for the growth and needs of your development cycles.
You might ask, should we just use labels? And the answer is maybe. This might be enough for you, depending on your application. But a product with multiple in-production versions needs branching. We think we have come up with a strategy that meets the needs of 99% of our projects:
Click to see the full image.
I hope this helps you decide what strategy is best for your project(s).