Reason #2 ("they make you sign the contributor agreement") is basically a declaration that the author doesn't understand US copyright law. If you are serious about keeping your code free, up to and including the ability to enforce its license in court, there are legal reasons to do this.
At least, so says the FSF (and so do the IP lawyers I've talked to about it):