I’m sure someone will give you a more detailed response, but here’s a rough idea.
Still experimental unless they released it very recently in 4.7. Even if it is released soon, I would give it a point release or two to mature before using it.
There are several flavors of bonding. 802.3ad is generally the best performance option but requires LACP config on the switch. It is still more like adding more lanes to a highway than increasing the speed limit. You won’t see higher speeds on single SMB transfers, for instance. Bonding can occur on layer 2 and/or layer 3. How to config will be different depending on your OS and switch.
NIC Teaming is kind of the new and improved bonding. You have some more flexibility with combining different types of interfaces. I tried it on CentOS a while back and ran into some issues. I stuck with bonding because it works fine. Someone else can probably tell you more about it. I don’t believe it can give you a fundamental performance improvement over an 802.3ad bond, but I could be wrong.
My general advice is to set up an 802.3ad bond on your NAS if your switch supports it, but don’t bother on your workstations/desktops. Also, I recommend sticking with NAS protocols (smb, nfs, etc) over iscsi until you have 10GbE in place on a dedicated lan/vlan with jumbo frames.
If you do want to go with 10GbE in the future, get used SFP+ NICs on ebay, buy Macroreer transceivers/DACs on Amazon, and look at Ubiquiti switches. You can set it up for under $1k.
To address your title:
Aggregation is generally synonymous with bonding, although it could be used as an abstract term for either bonding or teaming.
Bonding and teaming I addressed above.
Load balancing is one thing that bonding and teaming can do. Failover is another thing they can do.
Multichannel in this context is an SMB capability in Windows. It is being actively developed in Samba 4.