A decentralized system holds the hope that as peers join the network they are able to share the load of making the system work. The reality of this can be quite complex, as the struggle to keep the Gnutella network functioning has shown us. In addition, decentralized systems can exist without any particular person or company supporting them. Gnutella would be considerably harder to shut down than Napster. The ability of a decentralized system to live in the network, rather than at a particular spot, is particularly interesting .
Centralization also offers a lot of advantages.
The aggregation of information in one place allows for easy searchability. Centralization also greatly simplifies systems that need control over data updates. Finally, peers behind firewalls or NAT routers do not suffer as badly in a centralized system, because generally they connect out to the central server which can then help tunnel through any connection problems. The details of how JXTA itself does this are beyond the scope of this article. In fact, the current mechanisms are largely centralized.