The most common thing is nobody owns the decision. Someone (an engineer) chose an implementation detail and nobody thought about it any sooner. Then these things pile up in interesting ways over time. Rarely is it "the engineers hands were tied". Barely anybody is telling the engineer what to do in the first place, mostly due to a lack of proper requirement gathering since the software is always considered to be "shipped late" in perpetuity by the business, so who has time to properly plan?