It may depend heavily on how committed you are to supporting your app.
Do you plan on maintaining the hosting and availability of your web app for 10+ years? If not, perhaps a desktop app would be better in terms of availability, since it wouldn't depend on you to continue to host it. Once in the hands of the end user, they could keep and use it indefinitely, long after you have lost interest in the project.
I suppose the best of both would be to distribute the JS, so that it could be run locally, bearing in mind that the end user may not wish to use the browser of your choice, which could present its own problems, in terms of support. But that could be solved by embedding it into the browser of your choice, forcing the user to comply, and thereby eliminating most support complaints.
Example: The reason why Fried Babelfish
was released as a desktop app was to force the end user to use Krishean's script from round 2 of our little game, locally, in Internet Explorer, otherwise the script wouldn't work. And no matter how you tell the user to only use it in IE, there would always be those that would try in another browser and complain that it didn't work or would just contact you with an IE bashing rant. This solved the first 2 problems and cut down on the amount of IE bashing we had to put up with. (the version released for NANY 2009 was a much later round of the game, using Google's translation API, rather than the original Babelfish scraper script that Krishean initially wrote)