Use Floyd-Warshall when you need shortest paths between all pairs of vertices. If you only need paths from one source, use Dijkstra or Bellman-Ford instead. They are faster for single-source queries. If you need to answer many distance queries and can afford preprocessing, Floyd-Warshall is ideal.
It also handles negative edges (but not negative cycles). The algorithm is simple enough to implement in a contest in under minutes.