I've been trying to come up with a way to articulate how I think about this whole non-debate and here's a first stab:
One of the primary reasons Flash will eventually be unseated is not that Flash is closed -- standards, to a certain extent, are constructed in a relatively closed manner -- but because standards and technologies built on top of standards are more agile.
Flash is an awesome platform, but you can only build on that platform. Standards are great because you can combine platforms and build things not explicitly envisioned. Flash's single-platform approach makes it so that it will eventually have to play catch-up to a whole set of features that are being built by mixing and matching standards.
CSS3 + Javascript, for instance, can be used without Canvas to build really awesome functionality.
Canvas + Javascript can be used to make really engaging content.
Flash will eventually have to compete not with another product on features, but an entire web of organic technologies that don't have to wait for other components to advance in order to release the next stable version.