Johnson's algorithm solves all-pairs shortest paths in O(n2logn+nm) time using Bellman-Ford once and Dijkstra n times. For sparse graphs (m≪n2), Johnson's is faster than Floyd-Warshall's O(n3).
For dense graphs or when simplicity matters, Floyd-Warshall is preferred. It also has better constants and is easier to implement. In a contest, I reach for Floyd-Warshall first if n≤500.
Space complexity is O(n2) for the data structures used.