Eu concordo contigo. Passei por empresas que claramente era "bagunçado" assim mesmo como você descreveu. Às vezes tive que fazer código ruim porque realmente não daria tempo (tentava voltar pra melhor depois, mas era o único a fazer isso). Algumas vezes realmente é impossível entregar rápido e com uma grande qualidade, outras vezes é só desleixo mesmo.
No final, só podemos fazer a nossa parte: adotar uma cultura melhor (mesmo que só nós façamos isso), focar mais em qualidade sempre que possível e se formos os donos, criar essa cultura desde cedo na empresa. Só que o mercado como um todo busca sempre mais e mais velocidade e isso vai aos poucos comprometendo a qualidade, é endêmico.
P.S.: apesar das piadas, eu gosto de trabalhar com código legado (desde que seja possível melhorar algo alí (mesmo que as escondidas), se for só pra adicionar remendo e features sem qualidade, aí eu já não curto)