Everything that is constant in a class file is reflected in the constant pool. This means not only string or numeric constants, but everything that does not change during runtime, e.g.: variable and method names, method signatures, class names etc.
The information contained in the constant pool can be used to better understand the Java compiler or to do some static analysis.