A simple way of looking at the difference between single and dual channel, and why one is better than the other is sortof like this.
Single channel (1gb, in two 512mb sticks): CPU--------stick one--------stick two--------software
---------------------------------------------------------------stick one---
Dual channel (1gb, in two 512mb sticks) CPU -------------software
---------------------------------------------------------------stick two---
In the first example, the RAM is being treated as one large stick, which is excellent for large file chunks, like a video or large music file. The first stick will write until it's full, then spill over to the second stick, and read to the second stick until it's full, then spill over. Not ideal for gaming, as the second stick is basically just acting as an extended roadway, simply passing along the data the first stick already read.
In the second example, each stick is treated as an individual, great for games which use small chunks of data for sound and video, and will never actually spill over into the second stick. Dual channel allows (basically) four data streams. Not ideal for video or sound editing, as each stick fills, then the program has to wait for that buffer to empty for one task, while filling the other buffer with another task, that has to then wait for the first task to finish.
Latency also plays a part. Larger memory sizes require more time to move through the chips, which is not ideal for gaming, web surfing, or daily usage. The "sweet spot" for most games is 1gb, with a few exceptions (BF2 is touchy about just 1gb, but only on some systems), in dual channel mode. This allows the fastest data transfer, which translates to a few FPS. Adding more RAM, in most cases, will actually slow your system down for quick moving programs. While 2gb of RAM will improve BF2, it will actually drop your FPS in HL2, due to the increased latency.
TBH, you're bottlenecked with your proc/board, more than with the RAM.