Etherchannels always load balance, but it's possible to configure the load balance hashing method. The default method may be different per platform or per IOS revision. The method is configurable because there are a few problems that can occur when all of your routers and switches use the same hash to determine how to forward traffic on link aggregation bundles.
For example, let's say you've got traffic between one source IP and one destination IP only, but it's a lot of traffic. Enough to justify link aggregation. If you are using 6509 switches with their default load balancing hash that includes only source and destination IP, the switches will always use only one link of the bundle because the hash always returns the same value. But, if you change the load balancing method to source and destination IP and port then if you have multiple sessions of data between your source and destination, multiple links will be used in your etherchannel because it is making its load balance decision with more information.
That's all well and good for one etherchannel, but what if you have multiple link bundles across your network from point A to point B, and this time you have lots of flows? With lots of flows, the link utilization is not always going to be perfectly balanced, but it is usually good enough. However, you can run into a problem as the traffic traverses the network, the switches and routers are making the same forwarding decisions at each hop, so that one link in the bundle is very much overutilized compared to the others. This can be combated by using alternating load balance methods at each hop, so that the choice of link is randomized and your utilization is more even.
Does this then mean that configuring etherchannel disables STP? If so will this not result in L2 loops and broadcast storms? Infact I have seen this all the time that I configure etherchannel that some how STP will seem not to be working/enabled. Technically what does that mean in a redundant network that requires both etherchannel and STP to be enabled?
@ Darlington STP should still work the same except that the entire port channel is viewed as one port that will block or forward. I'd guess that the strange scenario you saw may have been remedied by doing a shut and no shut on the port channel interface.
@Bradford Thanks for the reply. I figured there was something simple the book was just leaving out. That makes sense. I also confirmed what you said about each switch having its own default method of load balancing with http://www.cisco.com/en/US/tech/tk389/tk213/technologies_tech_note09186a0080094714.shtml
For example, "...2950/2955/3550 series switch, EtherChannel balances the traffic load across the links in a channel by randomly associating a newly learned MAC address with one of the links in the channel."