Je zegt het niet, maar ik vermoed dat je postgres draait op MacOS of Linux.
De eerste vorm (zonder -h) maakt verbinding via een "unix-socket". De tweede vorm, met "-h localhost" verbindt via TCP/IP met localhost (IP-adres 127.0.0.1).
Postgres behandelt deze twee soorten verbindingen anders - of dat kan het tenminste doen. Als u het bestand "pgsql/data/pg_hba.conf" controleert om te zien welke authenticatiemechanismen zijn geconfigureerd voor de twee soorten verbindingen.