Ответ 1
dust.js - это только шаблонный модуль. Таким образом, он позволяет сочетать json с шаблоном для доставки html-вывода.
Angular.js - это клиентская среда, которая позволяет привязывать логику к переменным, определенным в шаблоне (ваша страница).
Итак, с dust.js вы несете ответственность за принятие решения о запуске json через шаблон. Обычно вы загружаете json на сервере (или клиенте) и просите его отобразить результаты.
С angular.js, когда модель (json) изменяет структуру, переопределяющую по мере необходимости. Триггерами для этого изменения могут быть действия пользователя (например, заполнение формы), или это может быть связано с загрузкой некоторого свежего json из службы.
Обычно вы используете angular.js, если хотите одностраничное JS-приложение (think gmail). dust.js, пожалуй, более сродни традиционному подходу с несколькими страницами с контентом, управляемым передачей в json.
Вы даже можете использовать оба из них в двустороннем рендеринге с помощью dust.js с динамической клиентской логикой в angular.js.