Sessions in PHP allow storing user information to be used across multiple pages. A session is started with the session_start() function and session variables are set using the $_SESSION global array. Session variables last until the browser is closed by default. Cookies are small pieces of information stored in the client browser that are used to recognize the user. Cookies are created and saved on the client side but sent to the server with each request, allowing the server to access them through the $_COOKIE superglobal array. The main difference is that sessions last until the browser closes while cookies persist for a set time period or until deleted.