Сессии чаще всего держатся на cookie: с каждым запросом браузер передает куку с идентификатором сессии, и php вытаскивает из своего хранилища – файлов, Redis, базы данных, как настроете – сессионные данные для этого id.
Т.е. различие в том, где хранить сами данные сессии: на сервере или на клиенте.
Всё, что приходит с клиента можно подделать. Поэтому лучше использовать сессии.