Преимущество простое, если сайт высоконагруженный, то у него может быть несколько бакендов на разных серверах, на которые балансируется нагрузка. И если хранить сессии в файлах, то юзера будет разлогинивать при переключении сервера.
Еще удобно связывать сессию с конкретным юзером в БД. Можно вводить ограничения типа "нельзя быть залогиненым с двух браузеров", удобно для онлайн игр.
Или дать функционал "Разлогинить меня на всех устройствах".
И еще наверняка куча вариантов.