Key Differences:
Data Type: Lookups are primarily character-based; Value Sets support Varchar2, Number, etc..
Flexibility: Value Sets can be dynamic (table-based), while Lookups are generally static.
Interaction: Value sets can utilize existing lookups, but not vice versa.