Was ist denn das Problem?
In hela´s Link ist doch alles schön erklärt.
Mit der oberen Variante kannst du eine Funktion so schreiben,
dass sie zB. mit 3 oder 4 Parametern aufgerufen werden kann,
und im 3-Parameter-Fall einen Standardwert für den Vierten nimmt.
Die untere, erweiterte Variante ermöglicht es,
die Parameteranzahl und die einzelnen Werte im Funktionscode abzufragen
und damit beliebige Sachen zu machen.