WSGI is the standard interface that modules and containers could implement and is the accepted approach for running Python web applications
Why use WSGI and not just point a web server directly at an application?
WSGI gives you flexibility: developers can swap out web stack components for others. For example, you can switch from Gunicorn to uWSGI without modifying the application or framework that implements WSGI
WSGI servers promote scaling: serving thousands of requests for dynamic content at once is the domain of WSGI servers, not frameworks
WSGI servers handle processing requests from the web server and deciding how to communicate those requests to an application framework's process
The segregation of responsibilities is important for efficiently scaling web traffic