The servlet lifecycle consists of 5 steps: (1) loading and instantiation of servlets by the servlet container, (2) initialization via the init() method, (3) processing of client requests via the service() method, (4) finalization via the destroy() method, and (5) garbage collection. The service() method handles each client request by dispatching to doGet() or doPost() depending on the request type, while init() and destroy() are called once per servlet instance.