If you ask me to implement something and I don't understand why you need it, then I may not do it right, and you may get regressions in this functionality in the future. Developers need to build a mental model of the problem they're solving. If the answer is "we've always done it this way" that's not very compelling especially when we're building a new system! But if you say "this is required because of XYZ", then this is something that I can understand, and more importantly, document as a requirement.