The two terms are interrelated however, they do differ slightly.
Load sharing is the process by which data can be transferred over multiple links simultaneously, thus taking advantage of the excess bandwidth of multiple links and of redundancy offered by those links. There are several ways to implement this and it can be implemented at different layers of the OSI model. Here are a few examples:
* Etherchannel is a layer 2 technology that bundles links together and allows for load sharing.
* The EIGRP routing protocol has mechanisms for using multiple paths to send data to a specific network
* STP running on per VLAN instances scan be configured in such a way so that some VLANs use one redundant link while others use another
* HSRP can be configured on layer 3 switches such that one switch is used as a default gateway for half of the VLANs while the other is used for the other half. This results in different physical links being used in each case.
These are a few mechanisms that provide and/or include load sharing. By no means is this list exhaustive.
Now, load balancing, strictly speaking, is the method by which you evenly distribute data over redundant links such that you are using the available links as efficiently as possible. For each of the above mechanisms this is done by tweaking the configuration such that load balancing is achieved. For example, you can configure EIGRP to send 1/4 of the data via a link with a speed of 4Mbps while sending 3/4 of the data via a link with a speed of 12Mbps thus balancing the load efficiently and evenly based on the available bandwidth.
Because these two terms can be and are often used interchangeably, it is often difficult to determine what the meaning is in each case. I believe that in most cases you should be able to understand the meaning based on the context provided.
I hope this has been helpful!