There seem to be so many to choose from.
I am having a very hard time looking these over to decide why I want to use one over the other.
Advice on what and why?
Well, is difficult to answer you question because is too wide. But here are the basics on each framework, as far as i know at least xD
SDL - no idea, never used
cocos2d-x - is basically a c port (has other options) from cocos2d-iphone. The main feature is cross platform, and they take this seriously, trying to provide support for every mobile OS out there. Is also the most stable side version of cocos2d. Needs c knowledge. Free.
cocos2d-iphone - one of the most used framework for 2d games on the iOS market, is really simple and works amazing. The bad thing is that is only for iOS. Needs Objective-c knowledge. AMAZING community. Free.
corona - never used but is a cross platform framework that works pretty well, has a rally good community and years on the market. Has lots of modules/features that makes the framework very easy to use and add features to your app/game. Needs Lua (scripting) knowledge. Paid (if i remember well).
unity - first of all unity is not a framework is an engine, so based on that premise is really different from the others in the list. Of course is paid (i think that is free for 2d games but i don't exactly know). Cross platform, good community, bla bla. Is big, really big but as far as i know easy to learn. It was ment to be a 3d engine it supports 2d very well, with good libraries/modules that works pretty well.
So, it all depends on your needs, if you want to go cross platform or not, how big is your game, how much money you have, etc, etc. All the above frameworks are really good, but require different amount of work from your side.