I've tried connecting my laptop to two separate routers (1 ethernet, 1 wireless). I've not been able to utilise both connections as it seems to be picking out which of the two were connected/became fully online first and only use 'that' connection.
If this is Windows it will pick whichever becomes active last (as far as I am aware there is no way to order which one takes priority over the other. So plug in to wired, and then your wireless disconnects and connects now all your traffic goes over wireless).
The reason what you are attempting to do is failing is that you are able to have only one default gateway. The default gateway is the IP address the computer will send packets to when the address it is attempting to reach is not on the local network.
Lets say you have both wireless, and wired, and you are doing a very large transfer over wired from a single computer connected on your network, but want the other traffic to go over wireless you can set up a static route. A static route will tell your machine that you want traffic destined for 10.0.0.15 to be sent over network interface X. Then you set up your default gateway (where all the other traffic flows, and your default interface) to your wireless card.
Now traffic going to your server where you are downloading the file from will come in over wired, and all the return packets from your machine will go over the wired as well, but all other traffic will go over wireless.
This WILL allow you to use both connections at the same time.
Now, pf is a firewall that also does
Network
Address
Translation. NAT is what allows you to have many machines behind just that one single IP your ISP gave you to work with.
What NAT does is as follows:
1. Your computer makes a connection to port 80, and the port where your computer expects answers is 9039
2. The NAT takes your packet, and sets up external port 8439 (randomly assigned), and sends your packet onto the web server, it also changes the IP address to the external IP address so that the return packets can route back to the NAT device and creates a state
3. The web server sends a reply back, the firewall checks that port 8439 is allowed, that it is from port 80 AND that a state exists in the state table.
4. NAT now takes that packet, and sends it to port 9039 on your computer which is where it expected an answer from the web server
5. Your computer sends a packet to a web server and the process starts all over again
Now, with pf (so far it is the only one I know of that is able to do this) the firewall/NAT is able to pick a IP address in a round-robin manner and replacing the external IP in step 2 with one of many IP addresses.
So rather than the default, which is that your router has a single gateway (default gateway) PF can pick a different default gateway AND outgoing IP address (the two have to match) and then send the packet on its merry way, on the way back it just translates it back to what it used to be, and sends it back onto your local network.
This allows you to have both a cable modem and a DSL modem and using them both together on the same firewall/gateway/router and utilise both at the same time, albeit for different connections. You are unable to split a download of a file and have packets be received on both connections and having them put back together.
What LordOfLA is talking about with multi-homing is a completely different story. In a multi-homing situation you have two separate connections, but both are "listening" to the same IP address. In multi-homing a packet is able to pick randomly between the two incoming connections to be sent to your machine, and it will pick whatever route is the fastest and the shortest for sending packets. This requires co-operation from your ISP in that you need to send out BGP to announce your IP address is located on connection X and connection Y, and that packets can be routed either way. Data centers and big business pay a lot of money for the ability to do so, especially if they require their services to be online 24/7 and can't afford to have any down time. This is definitely not required for a home service, the round-robin support in PF would do exactly what is wanted, and with a few quick rules it will even separate the load out over different connections depending on what the outgoing port number is.
If you have any questions, please let me know. Do note that the description is very generalized and may not be completely accurate in how it really works but it provides the basics.