PHP's date processing tools were, for the longest time, very limited. You can show a time in (a) UTC, or (b) the server's local timezone, but that's it. If you want to do any other timezones, you have to do the processing yourself. What phpBB does is just add the appropriate timezone offset to the date and then run it through the normal gmdate() function. So, for instance, when it's showing a time for me, it's not figuring out "What time is this in UTC+10?" but rather "What time is it 10 hours after this, in UTC?"... which is mostly the same answer, but it isn't ideal (it's wrong when it comes to daylight savings for instance, and the date function will report the wrong timezone). Newer versions of PHP support more thorough timezone handling, however phpBB still officially supports older versions of PHP, so they can't rely on those new features.
Or, as I've phrased it before: PHP sucked, so phpBB had to also suck in the opposite direction to compensate, and proper timezones were lost in the crossfire.
While no one overhear you quickly tell me not cow cow.
but how about watch phone?