Du säger inte men jag antar att du kör postgres på antingen MacOS eller Linux.
Den första formen (utan -h) ansluts via en "unix-socket". Den andra formen, med "-h localhost" ansluter via TCP/IP till localhost (IP-adress 127.0.0.1).
Postgres behandlar dessa två typer av anslutningar olika - eller åtminstone kan den göra det. Om du kontrollerar filen "pgsql/data/pg_hba.conf" för att se vilka autentiseringsmekanismer som är konfigurerade för de två typerna av anslutningar.