Mental Model
We want to find if there is a loop in the graph where you can start at one node and come back to it by following edges without repeating the same edge backwards.
Analogy: Imagine walking on city streets (edges) between intersections (nodes). A cycle means you can start at one intersection, walk through some streets, and return to the same intersection without retracing your steps backwards on the same street.
0 -> 1 -> 2 ↑ ↓ 4 ← 3 ←---
