Neříkáte, ale hádám, že používáte postgres na MacOS nebo Linuxu.
První forma (bez -h) se připojuje přes "unix socket". Druhá forma s "-h localhost" se připojuje přes TCP/IP k localhost (IP adresa 127.0.0.1).
Postgres s těmito dvěma typy spojení zachází odlišně – nebo alespoň tak může. Pokud se podíváte do souboru "pgsql/data/pg_hba.conf", abyste viděli, jaké autentizační mechanismy jsou nakonfigurovány pro tyto dva typy připojení.