The thing I like most about Swing is the amount of documentation, tutorials, and examples. True, Swing has been around longer, but the documentation really helps and it is easily accessable. I have looked into trying out SWT and decided to look through documentations and was a bit dissappointed. I had the feeling that most of my time would be spent on looking for the documents. Maybe I have become a bit too used to having the JavaDocs and standard tutorials readily accessible. There is also a wealth of advanced articles on Swing development. But for SWT I mainly see the equivalent of "Hello World" examples. Sure that is a great way to start but is a bit lacking.
Then for the longest the SWT library had been primarily for Windows. I have heard that it now functions on Linux, but it matured in Windows. That held me back for a while from taking it too seriously, now I am taking it serious. Eclipse looks great.
Another thing that I have read about is that SWT does not really embrase the MVC convention. That at times it becomes a real hassel to have the view objects work with the data. I have a Swing app that I have been developing that performs a lot of work with tables and if I could not control the table the way I need to then it is of no value to me. I did try (I think I was using version 2.something) to develop a plug-in as a quick
test and had a frustrating time with where I wanted the table...I wanted the table as a editor but could never get it recognized as an editor (center area). Frustrating.
That is the advantage that I see with Swing, I can modify the controls the way I need them and can in effect create any type of new control that my heart desires. It is all about making new controls.
In conclusion I can say that I am divided. Swing I can control in ways that I have not seen in SWT. SWT looks better. Swing has more documentation. I have not really noticed any performace problems with SWT, but in Swing's defense a slow Swing program is a good sign of some lazy programming.