FreeGLUT:
- Based on the GLUT API.
- GLUT has been around for about as long as OpenGL itself.
- Many tutorials and examples out there use GLUT.
- Takes care of implementing the event loop and works through callbacks (good for simple stuff, makes things like precisely timed animation loops and low latency input much harder though).
GLFW:
- Designed from scratch with the experiences of other frameworks in mind.
- Gives much finer control over context creation and window attributes.
- GLFW-2 Provides basic threading support functions (thread creation, synchronization). –– removed from GLFW-3
- GLFW-2 Provides basic image file loading support. –– removed from GLFW-3
- Gives very detailed access to input devices.
- Event loop is in control of the programmer which allows for much preciser timing and lower latency.