hook_form is used both for adding new nodes and editing existing ones, and no parameter is passed to describe the current operation.
Why is it not needed ? Because a simple test can show whether the node is being added or edited:
isset($node) && isset($node->nid)
If the test succeeds, the node has already been created and someone is editing it. Otherwise, it is being created.
This can be important for node modules generating values beyond
for the nodes they handle.