CROSS APPLY-ing a parameterised function
CROSS APPLY takes a table valued function and 'applies' parameters from each row in the query you are applying it to.  The function is evaluated once for each row and the output is implicitly joined to the source row in the record set from which the parameters were obtained.  Note that this 'join' can be 1:M - with a TVF one row at source can generate multiple rows of output from the TVF.

You don't need to use any more predicates in the where clause to join the results unless (for some reason) you want to further filter the output of the function by applying an additional predicate.

CROSS APPLY is quite useful with xpath queries if you have to go ferreting around XML fields that may contain repeating groups.