When you have two different links between the same two switches, normally spanning tree will forward on one and block on the other. This means half of your bandwidth is sitting idle. An etherchannel is a way to bind two links into one logical link with twice the bandwidth. In addition to increased bandwidth, etherchannels fail over in a fraction of a second. So the failure of one physical link in a multi-link etherchannel will not result in a significant outage.
The port aggregation protocol (PAgP) is a Cisco proprietary protocol that switches use to determine whether to bundle multiple links into an etherchannel. PAgP is similar to DTP, in that it has "desirable" and "auto" modes. One difference is that ports configured in etherchannel "on" mode do not speak the PAgP protocol, resulting in a mismatch with a PAgP-speaking switch at the other end of the link.
The link aggregation control protocol (LACP) is a standards-based replacement for PAgP. If you want to dynamically negotiate etherchannels with non-Cisco gear (including some servers), LACP is the way to go.
One big advantage of dynamically negotiating etherchannels is that the negotiation protocols will help prevent etherchannel mismatches. Setting the etherchannel to "on" can get you into trouble if the two channel members go to different switches, or go to a switch without etherchannel configured.