Pourquoi ressase-t-on toujours qu'il ne faut pas mettre de variable globale?

Y a-t-il une raison technique à cela ou est-ce purement une question de "coder propre" et de ne pas se perdre dans le codage ?