There are two places I can easily think of where this capability becomes useful.
First when using prefetchpaths you can get to a situation where the filter has to perform a "lot" of work to get to a point where it's identified a set of entities to be retrieved, you then want it to retrieve that set of entities, plus a number of sets of one to many child collections using prefetch paths.
The following is copied from the docs:
LLBLGen Pro offers you to tweak this query generation by specifying a threshold, DataAccessAdapter.ParameterisedPrefetchPathThreshold, what the runtime libraries should do: produce a subquery with a select or a subquery with a range of values. The value set for ParameterisedPrefetchPathThreshold specifies at which amount of the parent entities (in our example, the customer entities) it has to switch to a subquery with a select. ParameterisedPrefetchPathThreshold is set to 50 by default. Tests showed a threshold of 200 is still efficient, but to be sure it works on every database, the value is set to 50.
The sqlserver parameter limit: aroun 2500, oracle: around 1000
Instead of having one IN query with a big range of values to filter upon, you may wish to divide the big list into smaller lists (say, 100 parameters each) and have multiple fetches (each using the FieldCompareRangePredicate) into the same entity collection (divide and conquer).