Есть несколько факторов.
С одной стороны это психологический, ведь мозг довольно часто запоминает, что к примеру 299 это не 300, а 200 с чем-то.
С другой, магазин должен платить налог и если сумма допустим до 999 он платит условно 10р, а когда цена 1000-5000, то магазин платит уже 15р.
Это если очень грубо и примитивно.
P.S. Простите за грамотность и пунктуальность(
Пунктуацию:)