The [ command's job is to evaluate test expressions. It returns with a 0 exit status (that means true) when the expression resolves to true and something else (which means false) otherwise.
It's not that it does nothing, it's just that its outcome is to be found in its exit status. In a shell, you can find out about the exit status of the last command in $? for Bourne-like shells or $status in most other shells (fish/rc/es/csh/tcsh...).
$ [ a = a ]
$ echo "$?"
0
$ [ a = b ]
$ echo "$?"
1
In other languages like perl, the exit status is returned for instance in the return value of system():
$ perl -le 'print system("[", "a", "=", "a", "]")'
0
Note that most shells have a built-in [ command. The one in /bin would typically be executed when you use another shell or when you do things like env [ foo = bar ] or find . -exec [ -f {} ] \; -print or that perl command above...
The [ command is also known by the test name. When called as test, it doesn't require a closing ] argument.
While your system may not have a man page for [, it probably has one for test. But again, note that it would document the /bin/[ or /bin/test implementation. To know about the [ builtin in your shell, you should read the documentation for your shell instead.
man expr. – Ipor Sircer 2 hours ago[refers totestcommand though, notexpr, so it should beman test– Serg 40 mins ago