Сессия тоже использует ключи (кукис), правда, если они отключены, пытается воткнуть ID сессии в URL запроса. Сессии конечно более предпочтительнее, нежели ключи, т.к. механизм на сессии подразумевает запись в сессионную переменную с соответствующей проверкой, а кукис еще и механизм чтения.