When a scene contains a truckload of triangles, culling them all one at a time like that does not win you as much performance as you might think. You always needed to do additional things on top of it.
This let you do stuff like (and I'm working from memory here) have a 15k triangle budget from which you could easily develop a 300k triangle environment, as long as you were VIS-ing well enough that a player never saw more than 5% of the environment from any common position. Non-visible areas were essentially completely free, because they weren't even considered at runtime. This was a significant edge over culling approaches such as the one you mentioned, at a time when that kind of edge mattered a lot.
That said, IMO this approach was tuned for extracting maximum performance from the hardware available at the time (~Mid 1996- late 98). It showed it's age heavily from Quake 3 onward and was quickly overtaken by engines adopting somewhat different approaches (e.g. Unreal) quite quickly.
Big if. You had screwed up if you left such a setup as one long vis chunk. Level designers would place vis boundaries strategically along a corridor to control this behavior. It was a bit of an art form but not exactly hidden knowledge, even the levels that shipped with quake SW had this kind of tuning built in.
Weird that at no point in this article is the engine overall referred to as what I and presumably most level/mod designers referred to it as - 'The Dark Engine'. Still, she's a classic. Tuned beautifully for the sneak/rpg gameplay of Thief and System Shock. Not at all suitable for the high speed multiplayer FPS gameplay of Quake. A comparison between the two is always interesting to see.