I think a good balance of both might be in order. Documenting within the code is great for developers. However newer developer unfamiliar with a code base or in the process of being taught how to code might benefit from separate documentation. Similar to how non developers might benefit from it. You don't need to break everything down in a separate doc line by line. However some flow charts, api docs or major functions needed to know how the code base works would be great.
Also, as an aside. I am currently learning how to document. I was handed a huge script/code base that was created by one person. He's great, but kept most of the information in his head. Which worked when he was the only one doing the job. However, now that he's moved on to bigger and better things and someone else needs to take over it creates a problem. So now I'm going through the system a little every week and writing out documentation.
TL;DR: Make some kind of documentation for the next developer.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.