Preconditions are basically assertions that aren't controlled by enabling/disabling assertions and are used to generate runtime exceptions like NullPointerException, IllegalArgumentException, and IllegalStateException.  They are typically used to enforce the contract of an API when checking arguments.

See http://guava-libraries.googlecode.com/svn/tags/release03/javadoc/com/google/common/base/Preconditions.html