I use it for re-mixes, snapshots, and live performance configurations. Basically anything that requires making changes to Main that are either ephemeral (in which case, branches are deleted when no long required), or otherwise specific to a purpose (in which case branches persist for as long as they are useful).
Edit: I suppose those are not generally collaborative, so from the context of merging branches from other contributors, I would probably agree that it becomes a little messy when most of the contributors are not also fluent (or even passingly familiar with) git.