They are two completely different things:
Quartz2D provides a sort of canvas on which you draw things using an API that has lots of commodities to do basic things like you said: lines, polygons, blitting images, bezier paths, shadows and so on.. of course you can't go over these capabilities because it's quite a high level API that can do many simple things but nothing more
OpenGL ES instead is a very low level API that allows you a complete control over what's going to be displayed, you will build up even simple things from primitives (then it depends if we're talking about ES1.0 or ES2.0, they are quite different). It's basically crossplatform and it's intended to be used to instruct the GPU about what to show and how to show it.
Even simple things can be complicated with OpenGL ES mainly because it's very flexible, so you are going to need to know many concepts, put all of them together, and create your scene. For example you don't have a real "circle" primitive, what you will do is to draw a shape made of many small pieces onto a texture, then draw the texture onto a real quad of your display and then use it to move your circle around.
Then everything in OpenGL is made with transformations matrices, that are tools used to rotate, translate or scale objects inside your scene. They are a really elegant and slick tool but they need a stronger mathematical background compared to what you usually do with Quartz2D.
In addition if you plan to develop with OpenGL ES2.0 instead that ES1.0 things get even more complex: prior to 2.0 you had a backward compatibility that allowed you to use basic functions like glTranslate
or glRotate
that were used to translate or rotate things that were painted. With 2.0 they removed all of them leaving just the shader approach, so everything you will develop are shaders, that will be compiled and sent to the GPU for execution: this is quite naughty at the beginning, you'll have to understand clearly how the OGL pipeline works, what fragment shaders or pixel shaders are and so on.
My two cents: OGL is far cooler than Quartz2D but it's quite hard to learn because it requires knowledge of many topics, and since OGL ES is a standard not so old the documentation somehow lacks (so it would be easier to start with plain OGL and then take what needed for ES).
A performance note: since OGL ES just uses the GPU to do the dirty work, it's really FASTER compared to Quartz2D.