The psychology is (allegedly) simple. When you see a price like $4.99, unless you're pre-conditioned, you are expected to read it as FOUR-99, essentially $4, even though it's $5 for all practical purposes. Often it is styled as $4.⁹⁹ to double down on this effect.
This looks silly, and many people, including me, have taught themselves to recognize this pattern and round the price correctly without a mental effort.
Some people, of course, fall for it; I suppose younger kids are heavily affected.