With thick client you can provide usability easier, than with web-based. Yes, it is possible to add AJAX, JavaScript, but in many cases with thick client you get look-and-fee out of the box
Well yes thick clients do have their limitations. Read - Write local files / Opening sockets / Accessing hardware devices / Need for network connectivity etc etc are limitations.
The choice may ultimately have to weigh in more options in order to make a decision.
Deepak, the client in question may have to talk to hardware and thats a imp point to bring it up.
For a web based client trying to access local files or opening sockets , i have seen an applet embedded in a jsp asking for user permissions and doing the work.
Not sure if that is the best of both worlds. I would say no. If the applet needs special permissions and should be signed and accepted by the user before it can do its work, would it not make sense to write a Swing client instead ? Or how about JNLP ? Some developers dont like to use it but it would install the swing based client on the system and then carry out its work.
Just throwing out my thoughts. The solution would depend on the requirement
I guess, for a limied number of internal users (as in my case) one can easily ask to accept the applet signature.
But the same thing may not be good for a commercial web site.