BFS finds shortest paths when every edge has weight . This includes most grid problems and social network graphs.
If weights vary, BFS gives wrong answers. It treats a path of edges as longer than a path of edges with weight each.
Use BFS only when the problem states "unweighted" or all edges clearly have the same cost. In grid problems, each cell-to-cell move costs , so BFS is the default choice for grid shortest paths.