Давайте подумаем о разнице в том, что на самом деле происходит:
Перезапись URL:
- IIS получает запрос и передает его неуправляемому модулю
- Модуль сопоставляет запрос с набором шаблонов и возвращает преобразование
- IIS передает возвращенное преобразование в модуль ASP.NET и запускает жизненный цикл запроса
Маршрутизация:
- IIS получает запрос и передает его в ASP.NET
- ASP.NET сопоставляет запрос с набором шаблонов и определяет точку входа для обработки запроса
- ASP.NET запускает жизненный цикл запроса для этого обработчика
Я бы сказал, что они настолько близки, что вам будет трудно найти ситуацию, в которой разница заметна.