потому что хранить данные в субд эффективней? в сессиях хранить это примерно то же, что грузить файл с диска в начале запроса и записывать обратно в конце запроса. хранятся они в session.save_path и сериализуются через serialize()
upd: кстати скрипты разные любят хранить сессии в субд.
Они хранятся там ровно до тех пор, пока клиент не отправит заказ. Дальше это уже лежит в БД в виде order