1) From what I can see from SDL’s website, is that if you combine SDL with OpenGL in a application, you must run the application full-screen?
Where did you find it? Making OpenGL itself is not bound to being full-screen or windowed.
2) I thought SDL is a cross-platform wrapper framework over software rendering, OpenGL and DirectX. But from the sample code I viewed, it seems not to be the case. eg: You still need to call the OpenGL API’s directly in your SDL+OpenGL application. So why bother with SDL then?
(btw, you want to add OpenGLES to that list too.)
SDL itself provides wrappers to easily initialize the rendering.
It also provides some wrappers to draw 2d graphics. None 3d graphics at all. Thus if you'd need a 3d you'll need to make GL api calls yourself.
3) What exact advantage does SDL actually give (if you decide to use OpenGL graphics acceleration)? Does it incorporate the other parts like user input, application loop and sound.
It does handles user input loop and sound. Though for sound I'd recommend to use SDL_Mixer. (SDL extension).
Though you get OpenAL (family member of OpenGL), so I guess if you use OpenAL with SDL, you will have to call the OpenAL API’s directly too, just like you do for OpenGL.
No. OpenAL, is not a family member of OpenGL. Despite of the fashioned "Open" prefix.
SDL as well might be using more system native APIs (i.e. DirectSound) rather than OpenAL.
No direct calls to OpenAL (or underlying sound api) are needed.
So again, what benefit is there in actually using SDL at all?
It safes a lot of time dealing with system specific routines (loop, input, rendering,audio).
SDL extensions also help you to load both different Image file formats as well as Audio file formats.
Neither OpenGL nor OpenAL have any functionality to do that, they only expect raw data (scan lines of pixels or uncompressed wave forms)