I actually think it didn't hurt the web, it was a massive driver for change, Flash highlighted the lack of functionality in html/js and was part of the reason that forced html to finally get canvas, etc.
If you're completely honest with yourself, you'll realise that html/js are still years behind what you can do in Silverlight and Adobe Air.
Now it's mobile apps that are forcing the web to carry on evolving and highlight just how backward html/js is. In years time we'll have people saying that phone specific apps were terrible, but in reality, without something to show us the flaws of html/js are, it wouldn't move forward.
Personally I'm no fan of the mono-culture of the web, the idea that you can only use one language, either for markup or for programming, should be anathema to all of us and instead it is bizarrely celebrated. I'd far prefer to be using Python or Ruby or whatever than javascript and in reality I think it's probably costing the world billions or trillions in wasted effort as we schlep around with javascript.
The only thing I'm using Flash now any more is watching videos. Where I'm living it is sadly still the standard for some TV stations video websites.
The trend of restaurants around me is to just have a single png scan of their menu and nothing else. I was talking to one owner and they were wondering why their SEO was so bad
I suspect it just became a sort of arms race with everyone competing on sizzle rather than usability.
What you're describing is pretty much small businesses everywhere. Presumably this is a lot of Squarespace's target market.
The template sites are obvious because the owners chose a feature-filled template with all of the bells and whistles but have no use case for all of the frills. There are empty carousels, tons of extra white space, empty link slots, and a halfway responsive mobile experience.
Considering the above, a static, zoom-able HQ image of the menu is not a bad option. It's not optimal, but it's not bad. It tells the restaurant's name, phone number, business hours (possibly), address (again possibly), plus the entire menu. That ticks all of the major boxes for information that a customer may need.
If you want vector graphics, you have SVG. If you want imperative 2D graphics, you have Canvas. If you want 3D, you have WebGL. If you want video, you have the Video tag. If you want dynamic audio processing, you have the Web Audio API. If you want duplex, real-time or peer-to-peer communication, you have WebSockets and WebRTC. If you want client persistence, you have localStorage, sessionStorage and IndexedDB. If you want complex layout, you have CSS Flexbox and CSS Grids. If you want dynamic caching, you have Service Workers. If you want parallelisation, you have Web Workers. You have APIs to create, upload and download files from scratch, to instantiate typed arrays and get byte-level access.
I have a lot of gratitude to google, mozilla (and even Microsoft and Apple, as they come around to it) for making my job easier/possible.
It's the same thing that Delphi & Visual Studio did for modern programming. If you were used to working in Turbo Pascal/C and switched to Delphi, it was just amazing what a productive boost you'd experience from having a true integrated development environment with all the little tools and drag&drop builders and ready-made components.
All jest aside - it's true that Flash is way more productive than the "true" web environment today. It has its drawbacks, but developer tooling was awesome.
I may dislike javascript, sure, but it doesn't make me any less right that it's stupid that we still have no choice but to program in a particular language in today's effective OS, the browser. I generally use typescript now, but it's still rubbish compared to C# or Ruby or Python or [insert your favourite language]. And I feel the inanity of the present build infrastructure that we end up having to use is such an utter waste of my life.
Just think how much you'd chafe if you were forced to use a language you thought was substandard for 30% of your development time and waste hours or days every now and then wrestling build problems that I shouldn't even be thinking about it.
I certainly don't feel it's a chip, I think it's a perfectly sane response.
I really wish that we had a persistent, non-ephemeral web api for local storage. One that has to be manually deleted by the user, searchable by domain, just like a mobile app. It should ask you to allow it just like notifications or webcam usage, and allow you to set a maximum size with a reasonable fallback default. Until we have that, and full support for service worker features, mobile apps will be a necessity for many developers unfortunately.
Indexing was fixable by some additional effort and it's the same with these days SPAs.
Basically most of those complains apply to a lot of modern web sites.
You're describing modern, client rendered web applications.
I wholeheartedly agree the host of power than Flash brought, but I'm glad for its demise because — among other reasons — of this: that rich interactivity on the web is now largely standardized and open.