HoldAll is an attribute which specifies that all arguments to a function are to be maintained in an unevaluated form.
You can use Evaluate to evaluate the arguments of a HoldAll function in a controlled way.
Even when a function has attribute HoldAll, Sequence objects that appear in its arguments are still by default flattened, Unevaluated wrappers are stripped, and upvalues associated with the arguments are used.
See The Mathematica Book: Section 2.5.3 and Section 2.5.5.
See also: Unevaluated, Hold, NHoldAll, HoldAllComplete, SequenceHold, Extract.