W praktyce wyszukiwanie w sieci Gnutella często daje niepełne wyniki. Każdy z węzłów sieci jest zwykłym użytkownikiem Internetu, który w krótkim okresie jest online lub offline i z tego względu sieć nigdy nie jest w pełni stabilna. Przepustowość wielu użytkowników jest w znacznym stopniu ograniczona, więc niektóre z żądań wyszukiwania zostają przerwane zanim osiągną przeszukanie całej sieci. W wyniku tego zapytania nigdy nie osiągną więcej niż 50% węzłów (których jest średnio ok. 1 mln).
Prawdziwą zaletą Gnutelli jest jej decentralizacja, co powoduje, że tak problematyczne staje się jej wyłączenie. W odróżnieniu od Napstera, gdzie cała sieć zależała od centralnego serwera, Gnutelli nie da się wyłączyć poprzez wyłączenie któregoś z pojedynczych węzłów. Dopóki będzie przynajmniej 2 użytkowników, Gnutella będzie istnieć.
Cechy protokołu i jego rozszerzenia Gnutella działa w oparciu o protokół . Przestarzała wersja 0.4 protokołu sieciowego Gnutelli wykorzystuje 5 różnych typów pakietów: ping: wyszukiwanie hostów w sieci pong: odpowiedź ping query: wyszukiwanie plików query hit: odpowiedź na zapytanie push: żądanie pobrania pliku (dla użytkowników za firewallem)
Te pakiety dotyczą głównie wyszukiwania w sieci Gnutella.