It's not a bug, it's a limitation. Clipping lights is a very non-trivial task which, if actually implemented, would hamper performances.
The thing to keep in mind is that
light is something extremely complicated to simulate. So, it is simplified considerably. For example, Doom has sectors with a given light level, and some simple light-diminishing algorithm. Inside a level, light is ambient -- it has no source, and casts no shadows. Light is treated differently for thing sprites, HUD sprites, floor/ceiling textures, and wall textures. GZDoom adds dynamic lights, which are points from which light emanates spherically up to a given distance. There is no shadow casting, so this light is not cut off by geometry, sprites, or anything else. Games like Quake added volumetric light maps that affected static geometry but not moving platforms or actors; and dynamic light that, like in GZDoom, wasn't clipped by geometry. (There's even a walkthrough for Quake that tells a hidden door can be noticed from the glow of the bonus item behind it.)
Doom 3 was the first game in which there was a unified model for light and shadow, meaning that everything was rendered in the same way, with proper shadow casting and stuff. It also was a very dark game because that was crazy expensive.
The thing about lights being specifically flagged to cast shadow is for that same reason of performance. If
all lights are flagged to cast shadows, the game slows down to a crawl, so most lights are excluded from shadow casting and will happily shine through everything, which is a lot simpler to compute.