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.