Think of ordering a custom sandwich at a deli. You do not shout all 10 ingredients at once and hope the person behind the counter remembers them all. Instead, you go step by step: "I want wheat bread, then turkey, then Swiss cheese, then lettuce..." and at the end you say "that's it, make it." That "make it" moment is .Build().
Builder is a creational pattern that constructs complex objects step by step. Instead of passing 10 parameters to a constructor (where you forget which null means what), you call named methods like .SetName(), .WithEmail(), then finalize with .Build(). Each method is self-documenting, so you always know what you are configuring.
It solves three problems: (1) Telescoping constructors ā too many overloads. (2) No validation ā invalid object state isn't caught until runtime. (3) Mutability ā objects can be changed after creation. The builder addresses all three: named methods replace positional params, Build() validates before creating, and the product is immutable.