A página man descreve-o razoavelmente bem com o seguinte:
-, -l, --login
Start the shell as a login shell with an environment similar
to a real login:
o clears all the environment variables except TERM
o initializes the environment variables HOME, SHELL,
USER, LOGNAME, and PATH
o changes to the target user's home directory
o sets argv[0] of the shell to '-' in order to make
the shell a login shell
Eu costumo pensar nisso em termos do ambiente que eu quero, com toda a honestidade eu costumo usar sempre su -
por padrão.