Flash works okay for smaller apps: animating content, web banners, video players, but I've found that as the complexity of your app increases, you really end up fighting the platform in terms of maintainability. Especially if you're using pure Flash (where all your content is buried inside FLA files) and not Flex.<p>I think that Flex and WPF/Silverlight kind of got it right with a declarative GUI syntax that could be interwoven with code....the biggest problem I have with their approach is that 'making humans edit XML is sadistic'.