The fundamental distinction between a builder and factory IMHO, is that a builder is helpful when you need to do loads of things to build an object. For example, assume a DOM. You have to perform plenty of nodes and attributes to get your last object. A factory is used when the factory can simply create the entire object inside one method call.
One example of practicing a builder is a building an XML document, I've handled this model when building HTML fragments, for example, I might have a Builder for building a distinct type of table and it might have the subsequent methods (parameters are not displayed):
BuildOrderHeaderRow()
BuildLineItemSubHeaderRow()
BuildOrderRow()
BuildLineItemSubRow()
This builder would then eject out the HTML for me. This is much more comfortable to read than driving through a big procedural method.