I don't like the idea of people asking which library is better over the other.
Most have some disadvantage or advantage that the other doesn't have. But most of the time, unless you delving deep into how the library works, you won't even reach these advantages or disadvantages. The best way to determine whether a library is good or not is to use it.
What if you have a choice between learning c++ in depth like making a game using sdl libraries for a month or learn another language like jave which one would you choose
And another question have you worked on unity 3d
It's still your decision. Most people are fine developing small games when using Java. Most people start running into issues when developing commercial games as complication rises. There are bindings for popular multimedia libraries to Java even. Overall, I'm pretty fast to pick up on any language I try but I tend to use the C approach now adays because that's what I'm most familiar with (and I tend to deal with real-time applications).