To put simply:
1. An ultrapeer is a host who has lots of bandwidth to spare. The gnutella network uses these to help others (leafs) to connect to the network. The UP's also help shield off search messages that the leafs don't need. Thus reduce unnecessary bandwidth useage. UP's are decided by the network's needs. Nobody can themselves control this. You might be a UP one day & the next day or several hours later not a UP.
2. A leaf is just a simple user who connects to the gnutella network. They need UP's to help them connect to the network & relay searches.
3. The connection window shows ultrapeers you're connected to. If you're acting as a UP yourself, then it will show people who are connecting thru you. UP's are needed by the network & do a very important job. Being a UP is just as if not more important role than uploading.
I hope that helps.