Two useful discussions:
If you have functions returning tables of data, and the tables are used in a SQL statement, pipelining the functions may let other parts of the SQL start to process data before the whole set has prepared. That can give performance improvements by avoiding having to store the whole function result in memory - rows can be consumed and the next row fetched.
pipelined functions don't "increase performance".
1) This is an entirely wrong way to think about Oracle features. There are no Oracle features that automatically "increase performance", like some sort of a "turbo" button (not even partitioning! not even indexes!). Most of the features can work both ways -- when used appropriately, they improve performance, when not, they can cripple it.
2) Pipelined functions are not about performance. They simply provide a way for you to SELECT from a PL/SQL function (which otherwise is impossible to do). Not only you can generate sets of values this way, but also you can join it with other tables/views, that can be very convenient. Pipelined functions can also be very convenient for generating formatted text reports they allow you to bypass limitations of long/lob data types). But none of this has to do with performance.
3) Pipelined functions are inevitably associated with row-by-row processing (because there is no way to pipe a set of rows at once). So when the choice is between returning a refcursor (from which you can do a bulk fetch), and using a pipelined function, from which you'll be returning rows one by one, and none of items listed in 2) applies, then chances are that pipelined function is going to be slower.
So whoever claimed that "pipelined functions increase performance", either he/she is incompetent, or you took his/her words out of the context or misintepreted them.
Example of what?! "Apples don't cure all diseases -- thanks, can you give me an example on that?!".
You are asking lots of very generc questions here, and you don't show any signs of putting work into processing answers people give you -- this way of abusing forums won't get you far along.
Obtaining knowlede requires hard work. Sometimes, no matter how hard you try, you get stuck, and a little push from the expert community helps you to unstuck and move further. That's what OTN forums are for. They are not for you to dump the entire workload on shoulders of other people.
Let me use a couple of examples to illustrate that.
Correct usage: "I want to use analytic functions to generate this report <report description here>. Here is DDL to create tables. Here is sample data. Here is what I tried so far. Here is the error message I'm getting. Please help."
Wrong usage: "Tell me how to use analytic functions."
Perhaps your 'DB expert' was referring to this article: improving performance with pipelined table functions
But keep in mind that this is within a special context (doing pl/sql from sql) and certainly not a Silver Bullit.