NODEID and Agent is different and not.
Considering AGENT and NODEID contain the HOSTNAME where you want to execute your script, the rule is the same.
But, when you define your job you will declare AGENT hostname.
When your job wil be launch, NODEID become the real host where your job will be launch.
Example, in cas of Cluster mode, or NODEGROUP usage, you decided to use AGENTGO as Hostname defined in your job.
In reality, that AGENTGO could be different machine SERVER01, SERVER,02, etc...
When your job will be submitted, you must find SERVER01 or other real hostname, depending on wich node will be activated or available.
Considering normal, or load balancing, or nodegroup usage, the result will be the same. You defined a hostname, and Control-M returns the correct server where your script will be launch.
Hope is clearest.