I would say Flash and Shockwave do almost the same thing, but can be equally pointless on a website. You should always ask yourself if you could do the same thing with HTML or a script and have a similar user experience. Or are you creating a wiz-bang interface that is getting
in >the way of reading the information that you want.
I would agree that most of the time flash is a needless expense. There are times that using flash would be called for. Flash has the ability to call web services on the backend, and that gives you the ability to create a very rich user experience for web applications. And if you are working on specific applications like what I'm talking about, many times you have some control over the type of machines that will be accessing the application and the software it has installed. So I would call that the one plus.
I originally got the idea from a local guy, Tom Collins, from first street software. They were using a flash application to create custom stamps from images the end user uploaded - very cool.