Branches let you temporarily compromise the stability without affecting those users who need stability.
Things to keep in mind when designing a development tree include:
Minimize the number of branches
Make sure that all your different branches are explained well and named descriptively
Make sure all your branches are always available