What is a residual predicate? Although I was able to find the definition of predicates online at MSDN:

Is an expression that evaluates to
TRUE, FALSE, or UNKNOWN. Predicates
are used in the search condition of
WHERE clauses and HAVING clauses, the
join conditions of FROM clauses, and
other constructs where a Boolean value
is required.

I have been unable to find the definition of what a residual predicate is. What is a residual predicate?
A residual predicate is one that has an hidden extra cost because the predicate has to be tested again on every combination of rows that is fetched.

See Probe Residual when you have a Hash Match – a hidden cost in execution plans by Rob Farley.