Both web rendering engines and game rendering pipelines have render trees but they’re radically different. Trees are common structures in rendering in part because they’re easy to manipulate and efficient to compute, and are often amiable to parallelisation which a GPU (or other hardware) can take advantage of.
So maybe my answer is this: structures which have useful properties for the expression of rendering processes and their efficient computation can all be suitable for rendering systems. Trees are also common because they’re quite general structures. Other general structures such as hypergraphs, graphs, or DAGs, also appear in rendering quite a bit. But once you get to the
rendering itself, more constrained structures can be desirable because you can often make strong guarantees about things like computational complexity, efficiency, etc.
One example of non-tree structures used in the rendering pipeline is Nanite, which takes advantage of DAGs as an intermediate representation to do some clever triangle clustering wizardry. I’m sure there are better examples this one was just on my mind.
https://advances.realtimerendering.com/s2021/Karis_Nanite_SIGGRAPH_Advances_2021_final.pdf