The reason Learning by Doing works is that it strikes at the heart of the basic memory processes upon which humans rely.
Human memory is based in scripts and the generalization of scripts.
We learn how to do things and then learn how what we have learned is wrong and right. We learn when our rules apply and when they must be modified. We learn when our rules can be generalized and when to make note of exceptions. We learn when our rules are domain bound or when they can be used independent of domain. We learn all this by doing, by constantly having new experiences and attempting to integrate those experiences, or more accurately the memory of those experiences, into our existing memory structures.