Here is how you decide which technique to use:
BFS: Shortest path in unweighted graphs, multi-source problems, level-by-level exploration.
DFS: Find any path, check connectivity, detect cycles, traverse entire components.
Cycle Detection: Validate DAGs before topo sort, detect circular dependencies.
DP on DAGs: Count paths, find longest/shortest weighted paths, when subproblems overlap.
Next: problems where you apply this framework.