Floyd Warshall's algorithm finds the shortest paths between all pairs of vertices in a graph. It can handle graphs with negative edge weights but not negative weight cycles. The algorithm runs in O(n3) time, where n is the number of nodes, by iterating three nested loops to consider all possible paths through intermediate vertices and update the shortest path lengths. It works by building up the shortest paths one edge at a time, starting with the graph's direct edges and then improving paths by going through intermediate vertices.