The advantages and disadvantages of CLAs

I wanted to have a discussion on the benefits and drawbacks of a project using contributor license agreements. For anyone not in the know a CLA reassigns the copyright of the contributor to whoever is stated in the agreement.
A lot of big projects use them including the free software foundation so I wanted to discuss them and what people think.
The advantages that I can think of
The only disadvantage I can think of is that it might put off a few contributors.
What's everyone else's take on this? Also if you have any links on the subject please share them.
A lot of big projects use them including the free software foundation so I wanted to discuss them and what people think.
The advantages that I can think of
- Easier to go after gpl violations in court if you own 100% of the copyright
- Gives the community more control over the code with the possibility to switch to a different open source license.
The only disadvantage I can think of is that it might put off a few contributors.
What's everyone else's take on this? Also if you have any links on the subject please share them.