Я использую два отдельных метода при создании DAO просто для ясности и явности.
Если существует один метод Update, и кто-то передает существующий объект, он будет обновлен. Но что, если человек действительно хотел создать новый объект и тот факт, что он уже существует, является ошибкой?
С помощью одного метода обновления никто не сможет рассказать, что именно происходит за кулисами.