In additions to Shubhank's and Anita's answer I am adding some more points from my own experience:
- Light Repo: Since it's recommend that you only commit your code and leave pod to be fetched using pod install each time a new user pulls your code. Cocoa pos make your code folder light. If you ever need to make a change in any pod, it's always recommend to make a PR request and and update that so other user can be benefited from your amazing work.
- Dependency: Considering the content of your question I believe you are new to objective-c, swift, development. You'll love cocoapod if had to actually check the build setting of project and try to set the required header search path and framework search path and not only that you will also need to set flags, lots of those, linker flag, librarian flag if you are trying to use some fat library like XMPP or OpenCV.
- Centralization: If you need to integrate a feature, which you think is common and many people must have face similar issue. What you do is, got to cocoapod.org and search for the feature. Most of the time you will get a fine library doing similar work which you can integrate and use.
- Documentation: Cocoapods provide fine detail and that is required to have it integrated also sometimes why is that needed.
- Removing: Today itself I deleted pubnub and integrated XMPP in my code, which would have been way more tedious and time consuming if I had to do it manually, with taking care of all those search path and flags.
- Time: With all above you will save exponentially in your library integration time, which you can use to integrate more beautiful pods which makes your product look beautiful.
For even more details I would like you to see the faq link from the website: https://guides.cocoapods.org/using/faq.html.