A diferença entre which e whereis não é exatamente "executável" vs "binário".
which mostra o caminho completo de um comando, mas a busca se restringe aos diretórios que estão na variável de ambiente PATH (que pode inclusive ter diretórios que whereis não procura).
Já whereis procura também por outros arquivos relacionados, como fontes e man pages ("manuais"), independente do que está no PATH.
Exemplo:
$ which ls
/bin/ls
$ whereis ls
ls: /bin/ls /usr/share/man/man1p/ls.1p.bz2 /usr/share/man/man1/ls.1.bz2