El crecimiento desmesurado de los programas se achaca a diversas causas, que incluyen desde la tendencia a reemplazar aplicaciones centradas en la eficiencia por versiones mejoradas menos eficientes, la introducción de ineficiencias o módulos innecesarios en la forma de trabajo y diseño de los programas, o la incorporación de funcionalidades añadidas que apenas tienen valor para el usuario y disminuyen el rendimiento general del programa incluso si no se usan.