I have a theory (just a theory) that .99 pricing was introduced to prevent in house employee theft.
If an item costs $10 the till worker can pocket the money without recording the transaction. However if the product costs $9.99 the customer is due 1 cents change so the item has to be checked into the till and the purchase recorded, making an employee theft traceable as the tills will not add up at the end of the day :)