here's how I use dual/quad port nics:
Its really the greatest thing in networks since sliced bread. The bonding/teaming/failover is handled at the driver level, hence the OS is completely clueless to any underlaying failures/activity.
That's a good thing. IP stacks and operating systems don't like severe changes in their stack/routing/switching/arp, etc...I could go on for days on why modern NICs and drivers are a godsend for performance and failover.
There are two approaches to operating mulitple NICS:
1) Do you want ultimate redundancy?
2) Or do you want ultimate performance with redundancy as a nice to have?
If you want 1) then -
Each of the network interfaces (NICs) plugs into a separate switch, with one being a primary. The primary performs all network communications. The secondary doesn't do much other than wait for a failure at which point it takes over comm duties. This is a very effective solution and I use it religiously in high-availibility networks. I can fail NICs, lose core switches, just about lose anything and the host is unaware of any changes. Truly incredible if you want 99.999% uptime. Only down side is only one NIC is active.
2) Performance is enhanced by using multiple NICs to a single switch that supports some kind of load balancing. Down side is you almost always have to attach both nics to a single switch. So you gain some performance, but you lose redundancy. Switches do fail, often.
As far as the OS is concerned...it needs only one IP address. The OS is only aware of a single NIC - the drivers handle all the underlying magic. Anytime you assign more than one IP address to a machine it is no longer doing any kind of load balancing or redundancy. (this is a very general statement). The job of performanc/redudancy is best left to the drivers. The OS normally gets confused and complicated when you have more than one NIC addressed to the same IP network.
Hope this helps.