Regarding why some functions in action script have empty () (parens):
ActionScript took its programming cue from Java and C++, where every module of code is called a function. As a functional block of code, it could have values and parameters into it (these are the values that you include between the parens), do some of its own logic, and then return a value.
However, some functions just perform actions that do not require any passed-in values, such as Math.random(). Technically speaking, the number of parameters expected in this function is ZERO (none). Since the syntax of calling a function always requires parenthesis to show the list of parameters, you still need to include them even if no parameters are needed.
Another take on functions: Most of the time, when you call a function, you will be assigning the value it returns to a variable, such as:
fRandomValue = Math.Random();
But there are times we don't care about what is returned - we just want the function to just go and do something already:
GotoAndPlay(334);
This function will jump the current frame to 334 and continue on playing. Any errors or response codes are just ignored.
The hardest part is keeping track of what functions require what parameters, if any - and if the returned value is needed or not. But just remember that you ALWAYS need to have a pair of parenthesis at the end of all function calls, even if you have nothing in between.
Hope this helps!