The keyword function has been deprecated in favor of function_name() for portability with the POSIX spec
A function is a user-defined name that
  is used as a simple command to call a
  compound command with new positional
  parameters. A function is defined with
  a "function definition command".
The format of a function definition
  command is as follows:
fname() compound-command[io-redirect ...]
Note that the { } are not mandatory so if you're not going to use the keyword function (and you shouldn't) then the () are necessary so the parser knows you're defining a function.
Example, this is a legal function definition and invocation:
$ myfunc() for arg; do echo "$arg"; done; myfunc foo bar
foo
bar