I've had projects fail because we couldn't get the core algorithms working ...
Hell, most of my interesting failures so far have been "Okay, so computers can't do X (yet), or I'm too stupid to figure it out and don't know anyone smart enough to solve X"
A lot of my projects would sell like hotcakes, once someone figures out a practical implementation, or at least an impractical one.
I'd thought about that angle, and I've known a couple of those myself over the years (mostly second hand). But even in the cases I've seen, things might have gone much smoother had there been stronger communication about the specifics and what was (and was not) possible much earlier.
As soon as things look to be not possible, tell someone. If you're able to pull a rabbit out of a hat later on, great, but let people know that real hard limits (algorithm, processing speed, etc) are being hit. sometimes what someone was indicating was a hard requirement turns out to be a 'oh, it'd be nice to have that, let's move on' sort of thing.
So, while I get your point, I think overall there's still things people can do wrt communication even when there are fundamentally tech issues at stake.
Hell, most of my interesting failures so far have been "Okay, so computers can't do X (yet), or I'm too stupid to figure it out and don't know anyone smart enough to solve X"
A lot of my projects would sell like hotcakes, once someone figures out a practical implementation, or at least an impractical one.