Ok, very simply:
P2P programs cover both torrent programs and the standard user-user programs. Limewire, eMule, and Bearshare.
Limewire, eMule, and Bearshare work by connecting people who are using their individual program. For example, if I am using Bearshare and wnat to download a file called "music.mp3", Bearshare would look for other people on their network who have the file, and get them all to send it to you. Bearshare doesn't search through people who are using Limewire or eMule, simply because they are the competition.
Bittorrent is a protocol that was invented to solve this problem, and allow much more sharing to be done. It is a P2P protocol, not a program. The programs that use it are often called "torrenting programs", and they include BitTorrent (program), Azureus Vuze, and others. BitTorrent (program) is lightweight, but Vuze is more powerful.
Bittorrent works by having each file you want to share connected to a torrent file. This torrent file is then downloaded by people who want to standard file, and it allows them to connect to anyone who has the file. For example:
I want the file "music.mp3", so I go to a torrent search engine like
http://thepiratebay.org or
http://isohunt.com or many many others. I find the file I want, and download the associated torrent file (very small in size). I load the torrent into my torrent program (I use Vuze) and it connects to its main server, finds everyone who is currently sharing that file, and starts downloading pieces of the file from everyone. The key thing here is that because BitTorrent is a protocol, it can be used across multiple platforms and programs. So even if I am using Vuze, I might be getting the file from people using BitTorrent (program) or UTorrent or any other program.
Another great thing about BitTorrent is that it does not just download the file from front to back. In normal P2P this happens and your program has to make sure that the people you are downloading it off have the next section before it downloads it. With BitTorrent, it selects the best piece to download first, which might be a middle piece, or and end piece. This enables the fastest possible download speed. The file is simply put together piece by piece, and not from front to back. It also means you can safely download multiple pieces at the same time from multiple sources, and no corruption can occur.
As I have said, Vuze has many more options than any other client, and one of them is the port you wish to use. If you configure the port, you can vastly speed up your downloads by forwarding it on your router.
A guide on how to do this for specific routers and programs can be found here:
http://www.portforward.com