Another thing is that I saw and read about shaders and I questioned my self, are shaders useful for 2d projects?
In my very limited OpenGL experience so far, I've found them useful. I very recently created a little 2d program where different coloured ameoba-like cells wander around the screen and eat eachother. The whole "wobbly moving cell" appearance was implemented in shaders, using only a single 128 x 128 texture; and the wobble effect varied slightly & randomly for each cell. I'm sure you could imagine how hard that effect would be to implement in a more traditional, no-shader 2d approach.
I guess if you are using fixed-pipeline and rendering a texture on screen, as-is, then they probably aren't so useful. But don't limit yourself to this thinking; you can acheive some awesome things with shaders.