Lookup, Join, and Merge stages differ in three key aspects: (1) Memory usage - Lookup loads entire reference dataset into memory while Join/Merge process streaming data, (2) Sorting requirements - Join and Merge require sorted inputs but Lookup doesn't, and (3) Unmatched key handling - Lookup drops unmatched rows, Join drops them, but Merge can preserve them depending on settings. All three represent valid differences.