What is Cocos2d?
Cocos2d is an open source software framework. It can be used to build games, apps and other cross platform GUI based interactive programs. Cocos2d contains many branches with the best known being Cocos2d-objc, Cocos2d-x, Cocos2d-html5 and Cocos2d-XNA.
Cocos2d-X is for developers who wish to make cross-platform games.
In particular, Cocos2dx is for developers who want to use an open-source game engine. There's a thriving community of Cocos2dx developers who are helping each other succeed through online forums and sites like Stack Overflow.
The high price tag and limiting nature of closed-source engines such as Unity and Corona are what cause many a developer to choose open-source.
Another key reason to use an open-source game engine is that you can modify anything if necessary.