Just made some diagrams to help myself understand why a basic comparison sort won't work, and I though I'd share them in case they'd help other people.

Here, we have two entities A and C being sorted, with the camera looking down from above. Since they don't intersect when projected into the screen plane (shown by the gray lines), the sort order between them doesn't matter. However, we have to pick one of them to be in front of the other, since that's how our sort algorithm works.

Let's say that we end up sorting A in front of C (A > C). Then, come across a third entity, B, which intersects both A and C in screen space. Applying our sorting rules, we place B between A and C, and all is well.

However, what if B was oriented differently? Here, we see that B should be in front of A and behind C. But because we sorted A > C before, we can't actually do this, so our sorting algorithm fails.

Hence, we need our sorting to take into account the fact that A and C don't overlap, so their global sort order is indeterminate (i.e. there are no edges connecting their nodes in the sort graph) until we get information otherwise. Once we insert B into the graph, we then have a connection between A and C, so we can then sort them properly.