Which traversal do I run -- BFS or DFS?
Both visit every reachable vertex; which one actually answers your question depends on what you're asking.
Need a shortest path in an unweighted graph, or the fewest hops between two vertices? Reach for BFS. Need a topological order, a strongly connected component, or to classify an edge as tree/back/ forward/cross? Reach for DFS. If you only need "is it reachable at all" or "how many components does this have," either traversal answers it equally well -- pick whichever you already have running.
Reach for BFS
BFS explores level by level, so the first time it reaches a vertex is guaranteed to be via a shortest (fewest-edge) path.
Reach for DFS
Section
Depth-first search
A topological order falls straight out of DFS's own finishing-time order, reversed.
Finding strongly connected components (Chapter 11) is built directly on two passes of DFS.