
This Has Been Posted A Million Times
But so what:
https://www.youtube.com/watch?v=8FpigqfcvlM
Learning through play.
He also did a new one not so long ago about zelda, but not relevant to the discussion.
For the good or bad solutions I think the problem isn't so much that the developers are lazy, more that nobody cares enough about the usability during the development and as such the big ugly band aid is slapped on at the last minute.
The ship in three months panic :)
The reason they don't care is because subtle solutions are, well, subtle. It's not immediately obvious if something is working, and it only takes one person in the decision making process to get cold feet and the whole thing collapses like a domino run.