Celery is an asynchronous task queue that allows tasks to be handled outside of HTTP requests. For example, a web application could use Celery to poll an API every 10 minutes and store the results in a database without blocking the HTTP response. Celery distributes tasks by passing messages, allowing tasks to run across multiple worker processes. It uses brokers like Redis to manage queues and tasks. Developers define tasks as functions that are executed asynchronously by Celery workers.