Чем отличается Html.ActionLink от Url.Action?

Учу asp.net mvc и столкнулся с такой штукой как ActionLink, я так посмотрел, оно же вроде отображается как обычная ссылка в браузере, в чем суть? Создали просто что то типо своей ссылки, или есть какой то еще смысл у данной конструкции, и в чем разница между Url.Action и Html.ActionLink?

Сначала про Url.Action и Html.Action:

@Html.ActionLink("link text", "someaction", "somecontroller", new { id = "123" }, null)

Генерирует полную ссылку в таком виде:

link text

Если напишешь Url.Action то получишь только путь:

/someaction/somecontroller/123

Теперь различия между обычной ссылкой и Html.ActionLink

А разница между Html.ActionLink и обычной ссылкой в том что у нас есть шаблон маршрутизации, он находится в RoutConfig, так вот Html.ActionLink подстраивается под шаблон который там указан, а обычная ссылка нет, обычная ссылка статична, а Html.ActionLink динамична, то есть если поменять шаблон то Html.ActionLink подстроится а статичные ссылки придется все переписывать. Насколько я помню это вся разница. Вот пример:

@Html.ActionLink("Работа с клиентами", "Index", "Customer")

Данный участок кода сгенерируется в такой –

<a href="/Customer/Index">Работа с клиентами</a>

Но если шаблон изменяется то в первом случае мы ничего не делаем, так как всё хорошо, а во втором судоржно ищем все статические ссылки и меняем их под новый шаблон, поэтому лучше сразу использовать Html.ActionLink.