Which do you think is better as a programmer, and as a end user, and why?
Applets are usually slow, horrible, inappropriate in a browser, can't be printed, make everything else feel slow... I just hate when I go somewhere and an applet starts loading. Applets are a big failure and are fortunately dying slowly.
Web Start is nice for applications that are made to be desktop applications and solves the deployment issue (centralized deployment). Applications are downloaded to be executed in a JVM outside the browser. They can be linked to the desktop, started offline... Last but not least, you choose to use a Web Start application or not.
Applets : 0 - Web Start : 1
EDIT: I made the first sentence a little bit less generic. There are successful implementation of applets, no doubts about it. I just have a negative global perception because I've seen more wrong applets or usages than good ones.
The problem you have with Applets was JVM versions. Whilst in theory the JVM is backwards compatible in practice it isn't and I remember being a position where I continually had to juggle the system JVM to run two different applets (both produced by the same vendor - if not the same programmers).
In theory Java Web Start solves this as it allows the user to specify which JVM to use but I've still have problems with this. And if you have a Proxy Server - whilst most corporate environments do - I've had all sorts of problems there too.
My personally choice as a programmer and a user is a downloadable SETUP.EXE
which contains JARs and a version of the JVM to be used for the application. We found when you control the whole environment in this way the application is more reliable. You lose the easy upgrades you get with Web Start but I think this is a price worth paying.
I think both have their place. We have have multiple non-trivial applets deployed with great success for years, with the only compatibility problems arising from the transition of the event model between Java 1 to Java 2. They have been a highly effective means of delivering to our customers, and are much simpler to deploy than WebStart.
On the other hand, WebStart provides a nice compromise between deployment/update considerations and application capabilities.
I have also written a dynamic-download launcher class which can update itself and the application from an HTTP address before launching the application - that has worked extremely well to deliver an application to the desktop and keep it updated.
I personally prefer the JVM be a prerequisite and not installed with the application - I have found no compatibility issues with my applications from Java 2 through Java 6, on a variety of platforms (Windows, OSX, Linux and OS/400).
From my experience, customers don't want their programs to be running inside a browser. But, from Java6 update 10, applets can be running outside of the browser in a separate process. This appealing feature might fill the gap between the applet and JWS.