Send has the attribute HoldRest so that the given command is not evaluated before it is sent to the remote kernel.
RemoteEvaluate has the attribute
HoldFirst.
RemoteEvaluate[cmd, link] is equivalent to the combination
Send[link, cmd];
Receive[link].
With
ReceiveIfReady[link], you can poll several open links for results.
You cannot use
RemoteEvaluate while a concurrent computation involving
Queue or
Wait is in progress. See the chapter
Concurrency: Managing Parallel Processes for details.