Usually, you need to send values for parameters that you define for the input of a function (as i and k in our example). That’s the most often used variant. But you can use optional parameters as inputs as well (after the obligatory parameters). When you call the function, you can decide if you change the optional parameters or not. That’s not possible with the “normal” parameters as i and k.
Maybe other explanations may be helpful:
I hope this helps you understand the concept of optional parameters.