Separate the construction of a complex object form its representation so that the same construction process can create different representations.
This pattern is commonly used as a means to make object creation easier. Long constructors can make Objects hard to use - by providing a Builder, objects can be easier to use without exposing Mutability in your object.
For more information, Wikipedia provides a great overview of the pattern: Wikipedia Article