When using pipelined table functions, you may run into a situation where the optimizer doesn't choose the correct execution path, because it has no idea how many rows the pipelined table function will return.
If you know beforehand that the pipelined table function will return a limited number of rows, you can use the Cardinality hint to get the correct execution path.
A good example of how to use this, in this case for Apex (Interactive) Reports, is given here
. I used this hint recently to reduce the execution time of an IR from over 5 minutes to under 5 seconds...
Some more detailed info on the hint itself can be found here