Session cookies are opaque IDs the server maps to a stored session record. JWTs are self-contained tokens carrying the claims directly, verified cryptographically without a server lookup. Trade-off: JWTs are stateless (scale horizontally, no session store) but hard to revoke (they remain valid until they expire). Session cookies are easy to revoke (delete the record) but require a shared session store. Use JWTs for microservice APIs, OAuth, and stateless services. Use session cookies for traditional web apps with server-rendered pages.
All questions