Один метод возвращает ссылку на потенциальный объект. Если объекта ещё нет, то кидает исключение. Позволяет оперировать непосредственно с самим инкапсулированным объектом.
Другой метод возвращает тоже самое, но не ссылку и если объекта нет, то он вернёт копию временного после хитрых действий. То есть главное отличие в отсутствии доступа к самому объекту и не кидает никаких исключений. Как именами разделить такие вещи. К сожалению нужны оба варианта со столь схожей логикой с точки зрения интерфейса.