No dices, pero supongo que estás ejecutando postgres en MacOS o Linux.
La primera forma (sin -h) se conecta a través de un "zócalo unix". La segunda forma, con "-h localhost" se conecta a través de TCP/IP a localhost (dirección IP 127.0.0.1).
Postgres trata estos dos tipos de conexiones de manera diferente, o al menos, puede hacerlo. Si revisa el archivo "pgsql/data/pg_hba.conf" para ver qué mecanismos de autenticación están configurados para los dos tipos de conexiones.