Hi Stephen,
The below link
https://docs.camunda.org/manual/7.4/reference/bpmn20/tasks/user-task/#assignment-using-bpmn-resource-assignments states that
“BPMN defines some native assignment concepts which can be used in camunda. As a more powerful alternative, Camunda also defines a set of custom extension elements”
Potential User and Groups is the native assignment concepts
Candidate User and Groups is the custom extension elements
From below links
https://docs.camunda.org/manual/7.4/reference/bpmn20/tasks/user-task/#candidate-users
https://docs.camunda.org/manual/7.4/reference/bpmn20/tasks/user-task/#candidate-groups
You can see that there is no difference between them in term of functionality (custom extension is used for simplicity & is more readable)
Candidate Users
“This is exactly the same as using a potentialOwner construct as defined above. Note that it is not required to use the user(kermit) declaration as is the case with the potential owner construct, since this attribute can only be used for users”
Candidate Groups
“This is exactly the same as using a potentialOwner construct as defined above. Note that it is not required to use the group(management) declaration as is the case with the potential owner construct, since this attribute can only be used for groups”