You are correct, it's a psychological marketing technique and it works, lol. If I buy something for $9.99 and my wife asks me how much it cost, I always say 9 bucks or 9 bucks & change. It just seems closer to $9 than $10, lol.
But the whole penny thing apparently didn't start out to be a marketing ploy. I read an article years ago that said that around the turn of the century, newspaper boys would stand on street corners near stores to sell their newspapers, which at that time cost 1 cent. The merchants started charging .99 instead of 1 dollar, or .49 cents instead of .50 cents so their patrons would have a penny to buy a newspaper when they left the store. I wasn't there to verify, lol, but that's what the article said.