Decorators modify or extend functions/classes without changing their source code. They use the @decorator syntax and are widely used for logging, authentication, caching, and framework features like Flask's @app.route.