Lookup, Join, and Merge stages differ in multiple ways: Lookup loads reference data entirely into memory (high memory usage), Join requires sorted input on both links, and they handle unmatched rows differently (Lookup drops, Merge keeps, Join can drop or keep). All three are valid distinguishing characteristics.