Два ответа о git правильно согласны с вами, что теги хороши для релизов, а ветки хороши для новых функций, но на самом деле не объясняют почему.
Тег git постоянно указывает на данный коммит,Это означает, что он действительно только подходит для обозначения вехи, например, релиза.
С другой стороны, ветвь может быть извлечена и зафиксирована, то есть ветвь продвинется к точкена этот новый коммит.Это делает ветви способом работы в git;каждый раз, когда вы делаете коммит, вы хотите, чтобы соответствующая ветка была проверена, чтобы она записывала ваш прогресс.Это включает в себя новые функции, как вы говорите, но также и любую другую работу.
Ситуация в Mercurial в основном похожа, хотя ветвление не так легкое, поэтому вы не будете переходить так часто, как вмерзавец.И теги обрабатываются немного по-другому, но все же хороши для маркировки релизов.