nur das $_SESSION eigentlich aus gründen der sicherheit nicht als cookie abgelegt werden sollte, dafür gibt es $_COOKIE!
stell dir mal vor, du checkst nur per if($_SESSION['login']==true) ob ein user eingeloggt ist, und dieser wert wird bei ihm auf dem pc abgelegt, dann kann er sich ganz schnell "reinmogeln".
daher werden eigentlich die werte in den sessions im arbeitspeicher des servers bzw. auf der festplatte abgelegt, und sollten (bei einem sicher konfigurierten server) nicht vom user beeinflussbar sein.

aber abgesehen davon stimmt es natülrih, dass bei einer klickseite eh schon soviele db abfragen stattfinden, dass man da gut daran tut, an soclhen stellen ein paar einzusparen.