I\'v always wondered what they\'re used for? Seems silly to put them in every time if you can never put anything inside them.
function_name () { #stateme
The empty parentheses are required in your first example so that bash knows it's a function definition (otherwise it looks like an ordinary command). In the second example, the () is optional because you've used function.
()
function