Filters are used to process requests and responses in servlets. Filters intercept requests before they reach servlets and responses after they leave servlets. This allows filters to perform functions like authentication, logging, compression, and more across multiple servlets. To create a filter, we implement the Filter interface and define init(), doFilter(), and destroy() methods. The doFilter() method contains the main filtering logic and can pass the request and response to the next filter or servlet in the chain. Filters are configured in web.xml and can be chained to customize request and response processing.