Что выбрать для десктопного приложения на Java?
Сам Oracle активно продвигает будущую замену Swing — JavaFX 2. 

По словам разработчиков Oracle на конференции JavaOne, там много хороших вещей типа стилизации UI с помощью CSS. Соответственно, приложение может выглядеть одинаково на всех платформах.
Уже 4-е года пишу на SWING, пока хватало для всех запросов пользователей и даже извращенных. Есть много интересных библиотек которые обеспечат как красивость так и функциональность, например 
balloontip для красивых тултипов есть, далее jdrawing-0.3.1 для создания формы для рисования (но я бы что-то другое поискал). Для графиков jfreechart можно использовать. Еще постоянно появляются уже готовые оттестированные компоненты: деревья в таблицах, деревья с чекбоксами, и т.д… 
Если написать свой UI будет выглядеть одинаково для всех платформ. 

Все от запросов зависит. 
Например, уперлись когда-то в создание риббона, и нашли только упоминания о библиотеке flamingo которая позволит это на Swing сделать, в то же время на SWT это уже реализовано

JavaFX 2.0 красивее будет конечно, чем SWING и проще как показалось в реализации, но пока не все еще можно написать на JavaFX из того что можно сделать на SWING. Пока радует то что появилась возможность интегрировать компоненты JAvaFX в SWING. Сразу появляетя куча идей о том, что можно добавить интересненького в проект: чат, отправку на email (HTMLEditor используя из JavaFX), написать скрепиша и т.д… + радует то, что в JavaFX в рамках основного приложения на SWING можно сделать самостоятельные приложения на JavaFX.