Por que as variáveis ​​globais são consideradas más práticas?

Eu continuo vendo avisos para não usar variáveis ​​globais em JavaScript, mas parece que a única razão pela qual as pessoas dizem isso é porque entope o namespace global. Eu posso imaginar isso sendo facilmente corrigido colocando todas as variáveis ​​em um grande objeto. Agora, a questão é: há alguma outra razão para não usar variáveis ​​globais além da conveniência? Há algum problema de desempenho ou compatibilidade envolvido com eles?

questionAnswers(7)

yourAnswerToTheQuestion