How do we decide which ligand is monodentate, bidentate, etc.?

I went through a question about the EAN rule. At first, it was all clear to me, but now I'm just confused on how to decide which ligand will donate how many electrons. How do we decide which ligand is monodentate, bidentate, etc.? 


This question came to my mind when I saw cyclopentadienyl complex in which cyclopentadiene donates 6 electrons to the metal atom. Does that mean all compounds try to donate all the pi electrons to the metal? No, am I right? Carbonyl group donates only 2 electrons though it has 2 pi bonds i.e. 4 pi electrons. How does carbon of carbonyl group donate an electron pair, considering it has only one electron left in it's octet? Again, for $\ce{CH2=CH2}$, how many electrons will it donate? The answer is two. Which electrons are donated? Obviously the pi bond since carbon has no free electrons.


In which case electrons are donated from pi bond, in which from lone pair, and in which from unpaired electrons?


