Session variables and cookies seem very similar to me. I understand the technical differences, but how do you decide when to use one vs. the other?
Sessions are stored on the server side. If a visitor stores something in a cookie, the browser will send the user information for every request made.
This tends to consume a lot of servers computer time and slowing the user's experience. Some browsers also do not support cookies giving more advantage to sessions over cookies... I strongly recommend sessions.
This might help: Cookies (php.net)