This creates a confusing code-base with lots of IF statements, copy/pasted code, data modifications from several areas of the system, etc.
You'll fix a problem with data getting into the database incorrectly and realize a couple sprints later, fixing that bug caused other bugs elsewhere.
Automated testing doesn't catch it because automated testing only handled certain scenarios.
It's a mess.