When working with the GradebookExternalAssessmentService, you use the external ID of the gradebook item in question to interact with the service. If the external service does not provide some functionality you require, you need to also utilize the (internal) GradebookService.
The GradebookService operates primarily on the (internal) ID of the gradebook item in question, rather than the external ID. This is not so problematic if you either know the internal ID already, or if the "name" of the gradebook item corresponds directly with something you already know (for instance in the case of Assignments, the assignment name typically corresponds to the gradebook item name).
However, there could be situations where you only have the external assessment ID, and you know that there's a possibility that the entity's name may not correspond exactly to it's gradebook item's name. In this type of situation, there's no good way to get the gradebook item (or related functionality) you need through the (internal) GradebookService by way of the external ID, apart from getting all the gradebook items for the site, iterating over them and doing some brittle comparison routine.
In these cases, it would be a lot easier and a lot more intuitive to just provide a method in the external service to retrieve the internal ID of the gradebook item, for subsequent use with the (internal) GradebookService.