Filter() vs Lookup() — what's the difference really?

A question to Codans.

Is there any difference (performance, functional etc) between
Table1.Filter(X = thisRow.X)
Table1.Lookup(X, thisRow.X)?

I know that in Filter one can have more complex logic with multiple conditions etc, while in Lookup it’s only looking for a match. What I’m basically wondering is if there’s any advantage to using one over another for a simple lookup scenario.