Чем формошлепство на JavaScript отличается от формошлепства на JAVA, C#, QT?
На самом деле все в кучу в вопросе, задеты разные уровни работы приложений, то есть разные уровни абстракции: 
1) обработка событий: сигналы и слоты (как понимаю речь о Qt), очередь сообщений и обработчики событий в MFC и .NET Windows Forms. В джаваскрипте у каждого элемента DOM аналогично можно указать обработчик на каждое событие. 
2) Архитектура приложения: обычно это либо MVC либо MVVM (то есть по сути речь о MV* подходах), как раз эти подходы и реализуют фреймворки (ангулар, кнокаут, бэкбон и так далее), также сейчас активно продвигается Flux от фейсбука. В декстопных тоже есть MVVM, например в Microsoft WPF
3) Контроль изменений в моделях: это уже и есть всякие dirty checking, defineProperty, observer и тому подобное, то есть по сути то, как отслеживаются изменения в моделях.
4) AJAX - всего лишь технология общения клиентского джаваскрипта с браузером.
А сравнение нужно начинать с архитектуры приложений, п.2, все что ниже - это уже детали реализации конкретного фреймворка, а уже ниже - конкретной платформы (как работают и обрабатываются события, как обрабатываются данные)
Для начала, JavaScript выполняется браузером, и "формошлепство" в конечном счете создает html страницу.
Java, C#, QT создают визуальные элементы другим способом, в котором браузер не нужен, нужна или java-машина, или конкретная платформа (windows с библиотеками, etc)
Это первое и главное отличие.