The instinct is to stand on each 1 and walk until you find a 0 — one whole queue per cell, which is O((mn)²). Turn it round: put every 0 in the queue before the first pop and a single sweep hands every cell its distance to the nearest source. This is not reachability — every cell is reached; the question is how far. There is a genuinely different correct machine here too, the two-pass DP, and watching its one-pass cousin fail is the shortest argument for why BFS is the safer default.
"Searching for the nearest 0 from every 1 triggers $O(m \cdot n)$ separate BFS traversals, wasting $O((m \cdot n)^2)$ time."
"Seed all zeros into the queue at $t=0$ with dist[r][c] = 0, and initialize all 1s with -1. Concentric waves radiate outward simultaneously."
"Because BFS processes nodes in increasing distance order, the first time wave $d$ touches cell (nr, nc), its shortest distance to ANY 0 is guaranteed to be $d$."
"We can also solve in $O(1)$ extra space via DP: Pass 1 sweeps top-to-bottom & left-to-right (from top/left neighbors), and Pass 2 sweeps bottom-to-top & right-to-left (from bottom/right neighbors)."