Diferencia entre Url.RouteUrl () y Url.Action () en MVC3

Estoy en el proceso de generar una URL dinámicamente en mi página cshtml. ¿Cuál es la diferencia entre Url.RouteUrl () y Url.Action ()?

¿Cuál debo usar para generar la URL y qué diferencia tienen ambos en términos de implementación?

Gracias por adelantado