1. Better fault tolerance - this was the original intent of the technology
2. Allows load balancing between 2 networks (E.g. cable + DSL)
3. Better theoretical speed (though you will be limited by the slowest part of your connection path).
...bonding [combines] both of the computer's interfaces into a single interface.... The OS can alternate which interface it uses to send traffic, or it can gracefully fail over between them in the event of a problem. You can even use it to balance your traffic between multiple wide area network (WAN) connections, such as DSL and cable, or dialup and your next door neighbor's unsecured Wi-Fi.
1. Puts your network adapter in "promiscuous mode", which means it will have to look at all packets sent on the network, not just packets sent to it - this means more load on the CPU
2. Your speed is still limited by the slower part of your connection path. For instance, if your provide is only giving you 40Mb/second, you can't connect to the internet any faster than that by using 2 ports.
If you have 2 computers in the same room, each with 2 , and you connect them all up via a gigabit router, then you should be able to get nearly twice the transfer speed compared to using only 1 . In this case, your connection speed to the internet is not a limiting factor.
You did not say what operating system you are running. The instructions will be different for different operating systems.
In most newer versions of Windows, for instance, just use ethernet cables to connect both ports to your router, then go to the control panel and right click on the network adapter and choose "bond".
See the links below for more info.
Bonding 2 ports on Linux:
Discussion of pros and cons and other info on the technique:
Wikipedia article on promiscuous mode:
Microsoft article on promiscuous mode: