WinFS failed not because .NET was too slow, but because no one, not even the people in charge of WinFS, could explain why the fuck anyone would want something like this. I also don't get what's so great about Photosynth. Last I checked it completely failed to take off anywhere.
I was an intern in the WinFS team in 2004 - seriously nobody knew what it actually was even inside the team.
The best I could say was that it was a way for lots of applications writing their own complex datastores (like outlook) to share an OS-level platform so that it could be exposed to other applications with a unified API. It was way more a developer tool than a user-facing feature, but that's not how it was marketed.
For the same reason we want "locate". Except it would be nice to be able to query on many more attributes. And without having the machine be unresponsive for a while every day, only to find that "updatedb" decided to churn the machine.