You learned why Dijkstra fails with negative edges and how Bellman-Ford solves this by relaxing all edges times. Each iteration extends shortest paths by one edge. You saw how to detect negative cycles using an -th iteration and how to find affected nodes using reachability checks.
You solved problems involving maximum paths, cycle extraction, and constrained shortest paths. Bellman-Ford is slower than Dijkstra but handles cases Dijkstra cannot: negative weights and cycle detection. Knowing when to use each algorithm is a core skill in graph algorithms.