Linux23, a true peer to peer network works just like the internet works, in that each "node" on the network interacts with all the other nodes on the network. In other words, there is no central server through which the traffic goes, every component can communicate with other components.
With Napster, in essence what is happening is this: You connect to Napster and tell it what songs you have. Someone else does the same thing. You then do a search for something, Napster looks through it's index of what everyone has, and tells your computer where it can find the file you want. It's fast because the central server can do all the searching.
With Bearshare, there is no central server to do the searching - when you do a search, the search has to be relayed to all the 'nodes' so they can do a search on their own information .... obviously this method takes much longer, but it's also more robust -- if one component goes down, the rest of the network is unaffected.