They are necessary. They are used to pass so called 'arguments'. That is the information, the function needs to wrok. To go back to our 'HelloWorld' function:
def HelloWorld(n): #n is a namespace for an argument
print 'Hello World' * n
So, now when you type:
the program prints the message once.
If you type:
The you get the message twice.
Or if we use our other example and define the function 'walk', you could give the computer the number of steps to go.