Simple: Lua tiene más objetivos de "nicho" que Python .
Se piensa que Python es útil como lenguaje de programación general. Por lo tanto, es útil en muchos casos. Cubre muchos tipos de aplicaciones bien conocidas, pero no entra directamente en competencia con otros lenguajes que podrían estar dirigidos a restricciones específicas, sino a la simplicidad de su sintaxis.
Lua está totalmente dirigido a ser un lenguaje de script integrado. Su propósito inicial, incluso si se usa actualmente en otros contextos, como los sistemas de compilación; se incrustará en el software y permitirá una fácil implementación de funciones y estructuras de script específicas del dominio. Es tan minimalista que incluso se puede usar en hardware realmente limitado (usé Lua en NintendoDS), es liviano, fácil de usar, RÁPIDO y es un lenguaje tan minimalista, pero se cree que se extiende mucho dialecto (importando paradigmas como orientación a objetos) están disponibles. Es tan portátil (ANSI C) que puede usarlo en cualquier hardware embebido con una cantidad decente de memoria para el software embebido moderno (si recuerdo bien, el lua vm predeterminado es de alrededor de 400ko y casi nunca crecerá si no crea objetos en bucle) ...)
Por lo tanto, Lua se usa inicialmente en un contexto en el que debe incrustar un lenguaje de script para su aplicación .
Python se usa para ... casi cualquier cosa que no requiera un lenguaje más específico (puedes hacer juegos bastante efectivos usando Python, pero algún tipo de juego de alto rendimiento realmente requiere evitar ese sistema).
Es simplemente que Python se usa en más contextos que Lua. Hasta donde yo sé, aparte de Android (que proporciona soporte para Java y lenguaje nativo), Google no es una compañía de software integrada, por lo que realmente no necesitan Lua en todas partes, mientras que Python es útil para todo lo que hacen (web, sistema de compilación , comunicación, web y web).
Python también se usa en muchos juegos para secuencias de comandos integradas, pero es pesado y más lento que Lua. La sintaxis de Python lo hace más apropiado para juegos grandes que dependen mucho de la información escrita en su estructura de juego (no estoy seguro de que esté claro, pero solo piense que si necesita un "lenguaje completo real" para la creación de secuencias de comandos, incrustar Python podría ser una buena idea, si el rendimiento es bueno para ti). Python no fue hecho para ser incrustado, así que está bien. Un equivalente de Python destinado a ser incrustado en C ++ es Falcon.
Para una comparación extrema, algunos lenguajes que apuntan a la integración e intentan tener una sintaxis más completa que la minimalista Lua, y compiten en rendimiento: ChaiScript, AngelScript, Io ...
Por cierto, he visto que nuevos sistemas de compilación como PreMake o Bam usan Lua como lenguaje de archivo de compilación. La idea es que sea ligero y bien conocido por los desarrolladores de juegos (construir sistemas en el desarrollo de juegos es un problema importante). Entonces tal vez ese es otro dominio donde Lua podría ser más apreciado. Ciertamente es más fácil de usar que la sintaxis de CMake ...