Session in PHP allows for maintaining and accessing user data across multiple pages of a website. It stores data on the server side and associates it with a unique ID saved in a cookie on the client side. The $_SESSION superglobal array is used to store and retrieve session variables. Session_start() must be called before accessing session variables, and session_destroy() ends the current session and destroys all associated data. Sample code demonstrates registering a session on login and checking for a valid session on subsequent pages.