I think this likely has more to do with the NP Hard problem of generating directions more than it has to do with bad design.

Shortest-Path (Djikstra's) is in P :)