There are several backends currently available:
This backend runs on X11 and uses standard xlib calls for implementing drawing. It works well, but is limited in many areas due to the limitations of xlib drawing.
This is a very good backend that draws using the libart package and freetype with near PostScript quality and functionality. It is currently the standard backend (as long as the required libraries are installed).
This backend works on Windows and uses basic Windows drawing
An up-and-coming backend. It still relies on unpublished functions in the cairo library so using it is not for the beginner.