Why does 'flipping' an augmenting path — switching which edges are in the matching — increase the matching size by exactly one?
Think about your answer, then reveal below.
Model answer: An augmenting path has k edges and alternates: the first edge is unmatched, the second is matched, and so on. Because the path starts and ends at unmatched vertices, it must have an odd number of edges — (k+1)/2 unmatched edges and k/2 matched edges, so one more unmatched than matched. After flipping, the unmatched edges become matched and the matched edges become unmatched. The net gain is one matched edge. The two previously unmatched endpoints are now matched, and no other vertex's matching status changes.
The parity argument is the key. An augmenting path starts unmatched, so its edge sequence is: unmatched, matched, unmatched, matched, …, unmatched. This odd-length alternation gives exactly one more unmatched edge than matched edge. Flipping converts each unmatched edge to matched and each matched edge to unmatched — so the matching gains one edge net. The algorithm repeats until no augmenting path exists, at which point the matching is maximum (by Berge's theorem).