Gnutella is different to Napster in that there is no centralised server controlling the activity on the network, each Gnutella client is a server and client. Also the Gnutella protocol is open so anyone can make a client for the network.
Also unlike Napster you can download much more than just audio. The Gnutella network allows you to share virtually any type of file you can think of - so now you can download audio, video, graphics and software.
A recent development within the Gnutella network is the use of GWebCaches (web pages used as caching servers for other GWebCache's and Gnutella network hosts). These web pages are connected to by a Gnutella client to receive a list of known Gnutella hosts. So far this is as centralised as Gnutella has become. Most Gnutella clients now support this system.
Gnutella2 is an update of the Gnutella protocol which has been put forward by the creator of the [Shareaza] Gnutella client. So far is has received mixed reactions from the Gnutella crowd, mainly negative as it has not been developed using the Gnutella consortium (bit like the W3C but for Gnutella). Several clients have currently implemented it including Shareaza, Gnucleus, Morpheus, MLdonkey, and Adagio.