Especially in startups clawing there way to MVP release and increasing users/income. Everything is write code to solve specific need now without time to see if it can be better used/implemented. Gotta be first. If we're not first, gotta get traction to overtake first.
Even knowing that and attempting to build something with best principles is still going to be a pain to maintain as it's always a moving target with no proper specs.