I agree that the documentations may be not as they should be; However, I see the actual code is written with naming and commenting that try very hard to explain almost everything. It may be tough to find proper documentation about many things, but if you keep digging in the source code, again, and again, you will understand more and more things. I think the source code is well written frankly, and is entertaining to learn.
It is tough still, because as far as my experience goes, UE4 code squeezes every last feature of C++(C++11 at least), which will, by design, make the code very time consuming to understand. But the more I read, the less angry I become about the those who wrote the code, and more understanding I become of why they did so and so.