On an e-commerce site with no username/login to persist cart data, would it be better to use the PHP $_SESSION variable or a browser cookie to persist items in the shopping cart
You might consider using both.
The drawback with $_SESSION is that the session is cleared when the browser is closed.
$_SESSION
Use sessions, but attempt to populate the $_SESSION data from a cookie, if it's available.