My thought on this comes from a good chunk of direct experience: I've taught a number of courses to undergrads at NYU, as well as having about 5 summers of teaching experience in programming and cryptography at summer camps including CTY.
Imagine all students are given a button that says "give me an A," and they can press it if they choose, or do all the course work and possibly get a worse grade. Even if you chose to do the work because you were self-motived, you'd still be tempted to press the A button to guarantee a good grade.
That's an exaggeration, but the point is the same. The easier it is to get _any_ kind of validation without real work, the harder it is to learn.
It is harder to stay motivated, and the feedback received becomes less meaningful. It is even disappointing to simply know many of your fellow students probably cheated without consequences.
I do believe in seeing answers after doing the work, but it is just common sense to avoid posting them before things are due, and to support clear communications between the instructors and students about the details of posting answers.