<p>I think title should be good enough.</p>

Tags should be used when you want to mark a milestone.  The milestone could be as small as a daily build.
Branches should be used when you want to make changes independently from another branch/trunk.