Трудно провести сравнение между ними, поскольку они имеют разные цели.
Я часто использую JDesktopPane в приложениях, которым требуется несколько фреймов, но я не хочу засорять панель задач пользователя и хочу более тонко контролировать фрейм. Да, он используется меньше, чем JFrame, но я не думаю, что он будет устаревшим (по крайней мере, не в ближайшее время).