PHP est adapté à des applications web (du fait qu'il a toujours était fait pour cela), qu'il évolue avec les standards.
Python quant à lui est orienté script, tache serveur. Il peut donc tout à fait faire la même chose que PHP. L'exécution est souvent plus rapide que PHP (particulièrement lorsque le nombre d'itérations augmentent) mais demande plus de ressource. Python est particulièrement apprécié dans le domaine de la recherche et possède d'innombrables bibliothèques mathématiques. Son utilisation web est plus marginal que PHP, mais de plus en plus d'étudiant l'étudie (han ><) et il faut s'attendre donc à une augmentation de son utilisation (d'après moi).
Pour le CGI http://fr.wikipedia.org/w/wiki/Common_Gateway_Interface
Le plus propre ? C'est compliqué à répondre. Coté code, python est très simple, très propre, mais un peu plus complexe à mettre en place (quoique ...). PHP est aussi plutôt simple, et surtout facilement accessible.
Quant à qui est le plus puissant ? Il est indéniable que pour des scripts matheux possédant de nombreuses itérations, python est plus adapté (puissance couplé à de bonnes bibliothèques).
Le mieux est de tester, et de voir par toi même. Mais sache que python peut faire la même chose que PHP (à des exceptions près) et bien plus dans des contexte "hors-web".