Minha versão do manual do grep não inclui isso, mas o grep 3.0 elabora esse tópico.
Warning: The -a (--binary-files=text) option might output binary garbage, which can have nasty side effects if the output is a terminal and if the terminal driver interprets some of it as commands. On the other hand, when reading files whose text encodings are unknown, it can be helpful to use -a or to set ‘LC_ALL='C'’ in the environment, in order to find more matches even if the matches are unsafe for direct display.
A partir desta resposta: link
In the C locale, characters are single bytes, the charset is ASCII [...]
Esse provavelmente é o motivo pelo qual isso ajuda na exibição de caracteres ao verificar arquivos de texto desconhecidos. Força um conjunto de caracteres ASCII.