Смысл навигационных правил заключается в том, что они позволяют серверу на основе данных в запросе выбирать, какой вид отображать следующим - страницу результатов, страницу ошибок, следующую из нескольких возможных следующих страниц в рабочем процессе, что угодно.
Они не всегда полезны - большинство приложений имеют только линейные рабочие процессы и отображают ошибки на странице, поэтому вам никогда не нужны правила навигации. Я всегда считал немного странным, что такая (по моему опыту) редко полезная функция стала основной концепцией в Struts и JSF. Но это будет определенно полезным для рабочего процесса с большим количеством логики ветвления.
Что касается AJAX - это другой вариант использования. Если вы переключаетесь на совершенно другое представление, вам следует выполнить полное обновление, а не использовать AJAX.