هرکدوم معایب و محاسبی داره. ولی به نظر حقیر باید از جفتشون هم استفاده کنید.
البته برای ذخیره نهایی داده ها (پس از اتمام مراحل انتخاب و پرداخت و ...) باید از یک DB استفاده کنید.
ولی برای خود سبد میتونید اطلاعات کاربری رو در session ها و اطلاعات کالاها رو در cookie ذخیره کنی. سپس هر موقع که کاربر کارش رو نهایی کرد و پزداختش رو انجام داد (نمی دونم این بخش رو چطور می خوای راه بندازی - پرداخت الکترونیکی) اون اطلاعات رو تو یک دیتابیس میریزی.