The non-disclosure agreement was put in place when the software development kit for the iPhone was still in the developmental beta stages, something that is everything but uncommon. However, when the SDK went final, the NDA was still there, severely hindering a free exchange of information and experience among iPhone developers - which is not a good thing for a relatively young platform.
Apple is relatively direct when it explains why the NDA was put in place:
iPhone developers appear to be quite happy with the removal of the NDA. Ars kept an eye on several of the developers' Twitter feeds (someone has to do the dirty work) and the responses are positive.
However, the removal of the NDA doesn't solve the other major problem with iPhone development, namely the fact that Apple rejects applications because of seemingly nonsense reasons. Only time will tell if the end of the NDA soothes the community enough so that the storm of criticism starts to lose steam.