OpenGL is a cross-platform graphics API, you draw stuff with it and it doesn't have any kind of support for sound, input etc. This is pretty much the only option for graphics if you want your game to run on Windows, Linux and Mac.

To use sound with OpenGL application you can use pretty much any sound library you can get your hands on, even DirectSound which is included in DirectX.

DirectX is a compilation of different APIs/libraries that can handle drawing, sound, input and networking. It only works on Windows (and through emulation on some other platforms, but not very well).

JEDI-SDL is a cross-platform library for graphics, sound, input and networking, a bit like DirectX, but it has support for Windows, Linux and Mac. It has it's own native drawing functions, but you can also use OpenGL with it. It handles all the low level stuff for you, like creating the window etc.

Sprite engine usually handles drawing and collision detection for the sprites. For collision detection you can use a combination of distance checks, color checks and bounding circles/rectangles to see if the sprites overlap with something and then deal with the collision response (destroy sprite, reverse movement etc.).

I'd recommend JEDI-SDL for graphics and input, it's a lot easier to use than DirectX. But there's libraries that are built on top of them and they do more than just the basic stuff, but I think it would be best for you to actually learn to do some of the "low level" stuff first so that you have better understanding about things, how they work and most importantly why something is done in certain way.