Много сталкивался с разными гуями. Конкретно на jav'e в основном используют awt\swing . Софта десктопного немало есть, тот же openoffice.
Конкретно JavaFX для написания софта годится тоже очень хорошо но еще лучше для написания гибридного софта(этакое веб приложение с нативным функционалом, в пример тот же стим). Т.е. используются javafx формы совместно с webview. При этом отображается некий кусок страницы к примеру чат\список игр и прямо в коде страницы впендюрины кнопки которые дергают нативный функционал уже не веба а конкретно этой машины(игру там запустить или добавить игру во вкладку формы где список игр и т.д.). Поэтому Java и JavaFX вполне себе заслуживают место под солнцем но надо понимать что для каждой задачи больше подходит совй язык. Если вы хотите писать игру то тут однозначно с++\mono , если же софтина будет корпоративного уровня и важна масштабируемость и расширяемость то java\c#, если что то для себя или просто забавы ради то выбор не принципиален вообще.
Практически не используется, софт на ПК делают в зависимости от ОС, для Windows в основном C#, для OS X - Objective-C, Swift, C#, для Linux - разное, например C++ для Qt, то есть на Java вообще пишут мало софта для ПК.
Работаю с JavaFX. У нас на ней приложуха, которая работает на 5К+ платёжных терминалах. Джава отлично общается со всеми девайсами: купюроприёмником, модемом и пр., JavaFX даёт симпатичную картинку, софтина не привязана к железу. Но это, скорее всего, просто удачное стечение обстоятельств.