A seguinte resposta fornece uma explicação possível.
Vou citar:
note that if the expansion leads to nothing, i.e. in that case if the directory contains no non-hidden files, the * is left unchanged and passed as is to the command called.
Ou seja, ele expande o caractere curinga *, mas quando não corresponde a nada, é retido como está e passado para o comando chamado 'echo' neste caso.