In a nutshell, they focus on different purposes.
CoreGraphics: Compositing and vector graphics. If you just need those, CoreGraphics is a good choice.
CoreAnimation: Animate layers of 2D objects.
OpenGL sits below those two (and CoreImage/CoreVideo, too). By virtue of being lower level, it gives you a larger degree of control. And requires you to do more work when implementing things.
So really, it depends on what you need to do. And as soon as you're considering porting that game to other platforms, OpenGL looks much more attractive, since it's supported pretty much everywhere.