Причин на это на самом деле несколько.
1) Первый ответ нам подсказывает книга Канемана. Люди не любят сложности и большую часть времени наш мозг использует так называемую "автоматическую систему 1". Которая отвечает за то что нам уже хорошо известно и понятно. Сложности же подключают систему 2 которая анализирует, оценивает, находит решения, но при этом тратит значительную часть ресурсов. Мы экономим энергию когда встречаем знакомое. А это значит 999.99 воспринимается как 900, а не как 1000, автоматически округляясь в сторону первого знака и предыдущего порядка. 3 знака до запятой легче чем 4. Копейки никто не считает, но они отвлекают от первой части числа.
2) 2 ответ это упрощения для работы продавцов внутри крупных отделов. Консультируя клиента продавец знает, что продав товар с ценой 999.90 от получит 10% бонусом, с ценой 999.99 получит 5%, а с ценой 990.90 получит 15% это мотивирует его предлагать клиенту нужный товар. Ценники в магазинам меняются ежедневно.
3) Опытные покупатели не любят ровные цифры. Они считают, что назначая цену 100 руб. продавец зарабатывает на товаре максимум, а если цена не ровная, то он сделал скидку и покупка будет выгодная. Магазин исключил возможность прямой ценовой борьбы с покупателем (как это было на рынках и базарах) но делая такую цену показывает заложенную скидку, упрощая принятие решения