Quoting from that same manual page you linked:
If
--listis given, or if there are no non-option arguments, existing branches are listed; the current branch will be highlighted with an asterisk. Option-rcauses the remote-tracking branches to be listed, and option-ashows both local and remote branches. If a<pattern>is given, it is used as a shell wildcard to restrict the output to matching branches. If multiple patterns are given, a branch is shown if it matches any of the patterns. Note that when providing a<pattern>, you must use--list; otherwise the command is interpreted as branch creation.
So the answer, at least according to the documentation, is that “it is used as a shell wildcard”. This assumes, of course, that you know what the phrase “shell wildcard” means—and more importantly, it’s wrong, since a straight shell wildcard would not match across the /.
The documentation should say something like: “The pattern acts much like a shell wildcard / glob pattern, except that slashes are not treated specially, so that a*b matches both accb and ac/cb, and a[bc/]* matches all of a/d, abcd, ac/cb, and accb.”
Examples:
$ git branch -a
a/d
abcd
ac/cb
accb
* master
$ git branch --list 'a*b'
ac/cb
accb
$ git branch --list 'a[bc/]*'
a/d
abcd
ac/cb
accb
$