Gnutella's original sin was that it combined distributed search with distributed download. In a rational world, that would be smart and good but in a litigious world, that was too sophisticated for the Supreme Court and they ruled it as infringing on copyright through inducement of the user. Gnutella clients, like other P2P clients with search, got sued out of existence.
Bittorrent offloaded the distributed search onto websites which routinely got sued or shutdown. Funnily enough, one of my big improvements to Gnutella in the first year of LimeWire was to drive out the website users because they were overwhelming the network upload capabilities without adding to them. That improved the 90% download failures in 2001 but interesting to wonder what if we had gone another way.