Sinto muito, mas precisaria discordar da maioria das respostas para esta pergunta, exceto a principal.
O principal valor do software é que ele é flexível.
Eu não acho que você deve reescrever o código de outras pessoas sem justa causa. Se você precisar alterar um módulo por qualquer motivo para implementar seu recurso, agora você é, para o bem ou para o mal, o proprietário desse módulo. Altere, reescreva parte disso, reescreva tudo.
Nunca produza baixa qualidade em termos de flexibilidade. Não existe algo que jogue fora qualquer software. Se o cliente declarar temporário e não precisar dele após uma determinada data e não se importar com a qualidade, diga "ruim" ou escreva que o código não será alterado por você ou qualquer outro programador uma vez ele é implantado na produção ou você tem o direito de processá-los.
A suposição mais fraca que vejo em algumas dessas respostas é que algum código limpo de alguma forma reduz a velocidade do desenvolvimento. Para qualquer projeto de qualquer substância (mais de 6 horas de trabalho), o código limpo acelera o desenvolvimento a longo prazo (algo maior que uma semana). Eu já vi isso várias vezes.
Código de baixa qualidade é apenas desrespeitoso com a profissão e com seus colegas de trabalho. Desculpe, mas é verdade.
Portanto, não à má qualidade, em termos de flexibilidade, sempre!