I use JWS extensively in my company. The ONLY real problem that I've seen with JWS occurs only when you try to run JWS from cache AND your client's machine has just upgraded to a newer version of Java. The application will fail to launch with a "Unable to launch", "cache file not found" error or something similar.
There are two ways that I use to fix this problem: I either clear the cache and have them reinstall the app, or I simply have them click on the URL again from my website (easiest for my users). In both cases, the problem fixes itself. This would explain why several developers here never see this problem, most likely because their users always click on a URL instead of the installed launcher.
As a workaround, and in some of my mission critical apps, I use either of the following inside a script:
java -jar netx.jar -jnlp http://url/to/my/launch.jnlp
or
javaws http://url/to/my/launch.jnlp
where netx is a third party library.
It is not the prettiest solution, but for me these work 100% of the time.
Now, if I could only figure out how to get the desktop shortcuts from not going to hell... but that's a discussion for another time.