Existe uma pista sobre isso em, por exemplo, man grep , que também é man fgrep e man egrep - muito frequentemente, ferramentas com pequenas variações como essa terão uma página man para todas as variações, explicando-as em relação um ao outro:
In addition, two variant programs egrep and fgrep are available.
egrepis the same asgrep -E.fgrepis the same asgrep -F. Direct invocation as either egrep or fgrep is deprecated, but is provided to allow historical applications that rely on them to run unmodified.
Presumivelmente, fgrep e egrep já foram nomes padronizados, mas se você olhar mais abaixo na página man note que -E e -F são "especificados por POSIX", o que implica mudança de padronização, mas (como dito acima) , compatibilidade retroativa é mantida.
No tópico de se os programas 'deveriam' ter variantes - não, não há padrão. Mas existem muitos programas que o fazem graças à natureza leve dos links (veja ln - ignorar links simbólicos).