1. The term link aggregation refers to the process of aggregating two or more (upto eight) ethernet links (FastEthernet, GigabitEthernet, 10 GigabitEthernet) to form one logical channel. You will find this being referred to as Ether Channeling in most Cisco documents. The purpose of Ether Channeling is two-fold, to increase effective bandwidth over the channel as well as to provide redundancy.
2. Trunking is the process of carrying multiple VLANs over a Layer-2 link between devices. You will hear 802.1q a lot when you read about trunking. 802.1q is the encapsulation at layer 2 that makes trunking possible by sending the VLAN tag along with the frame.
3. Stacking by definition refers to combining multiple physical switches into one logical switch. Catalyst 3750s are a good example of this. Some people inter-mix the terms stacking and cascading but i would prefer to think of them separately as cascading merely refers to physically inter-connecting switches with each switch maintaining its own existance.