I find it easier to learn new things when they are applied to something I'm working on.
You say you want to write a mod; come up with an idea and start implementing it. Figuring out specific things is probably going to be more productive than trying to "understand phpbb" in general. You will also know whether you're understanding stuff correctly or not (if not, your mod won't be working as desired).
You should pick something that is not too complicated, but covers major functionality points: code, templates, sql changes, user cp, admin cp. Of course if you can't come up with a single mod that would involve everything to some degree you can always write two.
Alternatively, visit the bug tracker
and see if any open tickets catch your interest, then try fixing them. This way your code will be reviewed by phpbb developers, if you're doing anything wrong you will almost certainly be told about it.