O uWSGI é um servidor de aplicativos, ele é ajustado e tem opções para executar código customizado da maneira mais segura possível. O nginx é um servidor web, e é ajustado e otimizado para este tipo de trabalho (servindo arquivos estáticos e proxy). Você também pode executar o uWSGI como um servidor da Web, mas perderá a quantidade de recursos do nginx (ou qualquer servidor da Web que deseje usar) e sua eficiência no atendimento de arquivos estáticos. Há uma enorme quantidade de outras razões (incluindo segurança), mas a principal delas é o escopo diferente. então você precisa de ambos. Aliás, esse é um paradigma normal (proxy de servidor da Web para o servidor de aplicativos) para praticamente todas as soluções modernas de implementação.