Non lo dici, ma suppongo che tu stia eseguendo postgres su MacOS o Linux.
La prima forma (senza -h) si connette tramite un "presa unix". La seconda forma, con "-h localhost" si connette tramite TCP/IP a localhost (indirizzo IP 127.0.0.1).
Postgres tratta questi due tipi di connessioni in modo diverso, o almeno può farlo. Se controlli il file "pgsql/data/pg_hba.conf" per vedere quali meccanismi di autenticazione sono configurati per i due tipi di connessione.