I used SDL a couple of times. It's the easiest choice if you need platform-independance beyond windows/linux (eg. pocket-pc, amiga, dreamcast, playstation, etc).
While SDL is pretty lowlevel, Allegro has some additions like bitmap-loaders, primitive-drawing, sound-playback and some math-functions - some of these are better implemented in dedicated libs (like
devil or
FMOD), others are generally superseded by OpenGL.
If you're more into object-orientated programming I'd use
SFML instead of SDL.