Dipende da quello che devi implementare: la differenza principale tra la sessione e il form, ad esempio, è che i dati scritti in sessione sono disponibili su ogni pagina per tutta la durata della sessione dell'utente, appunto, mentre con il form (e quindi con i metodi GET e POST) i dati sono disponibili sono per il tempo di durata della request e solo per la pagina che ha effettuato la richiesta.