Some things to consider: The iPhone supports javascript but not flash, Adobe does not have flash out for x86_64 Linux, Flash is a proprietary closed platform.
Flash 9 is considerably faster than previous flash versions at most tasks, and is indeed faster than javascript for the most part too. Doesnt paint the whole picture, but at least gives an idea.
The basic file size of an empty swf file is approximately 35 bytes.Apart from this 35 bytes, everything else is developer contribution. The file size depends on what kind of assets you want to embed in your flash widget. If you embed more images,mp3s etc., the file size will increase. One of the greatest strengths of flash is the speed at which the 'flash virtual machine' initializes. A swf file churned out by a good developer will perform well.
Having said that i would personally prefer to go with a javascript version, if the widget doesnt require video or hardcore visual effects.Why lock yourself in a closed piece of software unless its acutely necessary ?
A major disadvantage of using flash is that, flash by default will place itself on top of everything else in a webpage. A work around for this is to set wmode as "transparent". But this will drastically reduce performance of flash widget in Gecko browsers.And hence, as far as possible, use javascript.
Also isn't it nice not to have to write javascript code for each browser that exists out there?
What if Netscape said only Netscape's browser could handle javascript although you could write the script in emacs or notepad or whatever .. ?
As a widget usually requires only very little coding, its worth coding it in Javascript ,if it isnt too Rich with animation,video or audio.When it comes to these rich factors, there is no question that flash is the best choice.
Adobe (who has an incentive to inflate their numbers though I'm not saying they are) puts Flash 9 at 84.0%. Below that you get into the high 90s. But if your whole product is based on a viral loop, and you can achieve the same thing with JavaScript, that few % can be important when compounded over time.
How can a javascript widget even work with the browser restricting javascript to access other domains?
and dont worry about that javascript widgets slowing thing! the web as we know it ,is fragmented in data anyway.