DESCRIPTION_LIST in tnsnames.ora How does this work? If I specify an address list, I know I can specify a load balance or failover option to switch the connection to the other address.

But in case of various descriptors (DESCRIPTION {...}) what's happening? Is it a random choice from the connector?
Which Database Version do you have?

From Oracle 11g onward you should be using the SCAN listener. The SCAN listener knows where the database is located in the RAC and how much load is on that node.

Further more you should define services for long ops and short ops for better load balancing.