Let me try to put my understand here,
The git branch naming convention master, develop & release
were well defined and adopted to sync with universally. That doesn't means you need to follow, you can define how you wish and push to your costumers and users, Many organisation follows universal naming conventions to avoid unnecessary confusion.
In mercurial, Many follows branch naming default
instead of master
.
Definition in one line:
master : Ready Product (Public Available)
develop : Requirements/bugs/Improvements Implementation In Progress (Not recommended to use)
release : Preparing to `Ready Product` (Private or internal)
tag master : Stable Product with defined features.
You can refer This This This for more info