Yes, it does use OpenGL for some operations. You can get the full list from the source code. The major uses are, as of SFML 1.6:
RenderTarget.cpp
: set up render targets, clear screen, set matrix mode etc.
PostFX.cpp
: postprocess manager
Image.cpp
and Sprite.cpp
: texture and sprite handling
String.cpp
: text writing
In the upcoming SFML 2.0, some of this is slightly modified because of the support for the fully programmable pipeline. For instance, Sprite.cpp
no longer uses OpenGL directly, and instead fills vertex buffers for rendering by RenderTarget.cpp
instead.
It is possible to use SFML without the application having knowledge of OpenGL, but its features will be pretty limited (basic sprite and text rendering, some post-process effects). The more common use case is to use SFML to create a GL context.