Да. Есть преимущество в их переопределении.
Не все фактически обновляют или удаляют строку данных, когда происходит обновление или удаление.
В некоторых случаях удаление записи действительно означает установку даты EffictiveUntil для существующей записи и сохранение записи в базе данных для исторических целей.
То же самое можно сделать для обновления. Вместо обновления существующей строки текущая строка получает набор даты EffectiveUntil, и вставляется новая строка с новыми данными с нулевой датой EffectiveUntil (или аналогичным механизмом).
Предоставляя логику вставки / обновления / удаления для Entity Framework, вы можете точно указать, что эти операции означают в терминах вашей базы данных, а не то, что они означают в рамках СУБД.
Что касается второго вопроса (который я, по-видимому, изначально пропустил), если вы довольны тем, что генерируется в настоящее время, то нет, их создавать не стоит. Вы бы просто добавили дополнительную головную боль, связанную с необходимостью не забывать обновлять хранимые процедуры при каждом изменении структуры таблицы.