Intel and SiS chipsets do dual DDR differently than nforce2. With Intel, the single memory controller splits traffic between the two channels. The modules can be different but will only work if they're both the same size and if you have the modules balanced across channels. If not, dual-channel won't work. You can have a 256MB and a 512MB module in one channel, and the same in the other two channels, but not one 256MB in one channel and a 512MB in the other. The channels have to match, but not the slots within one channel.
nforce2 uses two separate memory controllers to reduce latency. While one controller is reading or writing, the other controller is preparing for the next operation. So the delay while waiting for a memory access can be reduced since the next transfer is already prepared in the second controller. The nforce2 also allows more memory combinations. The speed and timings will work at the lowest common settings just like Intel's. But the nforce2 supports 3 slots for memory. You can fill all 3 slots and still use dual-channel mode. If you have two 256MB modules in slots 1 and 2, and a 512MB module in slot 3, then you have full dual-channel mode because the channels have equal amounts of memory. If you have a 256MB in slot 2 and a 512MB in slot 3, you have dual channel but only for the common 256MB. Any data that is stored in the upper 512MB of slot3 is accessed at only single-channel speed.
This works out well for the two platforms because of the different needs. Intel needs the bandwidth of both channels to match the P4 bus. AMD's bus is easily handled by a single channel of memory, so nvidia could have easily used 2 controllers with only one channel, but the increased bandwidth of two channels allows the CPU to never have to compete with PCI devices or the AGP card for memory bandwidth (not that AGP cards usually need system memory access). It's unfortunate that nvidia makes the second memory controller be disabled in the chipset if it's operating in single channel mode, but I guess it would have required a lot more work to make it function properly and not have conflicts.
[edit] Also, with the Intel chipset, the number of rows has to be the same in dual-channel mode. So you can't use a single-sided 256MB module in one channel, and a double-sided module in the other. Also, in single channel mode, performance is increased with certain configurations. One single-sided module, two single-sided modules, or two double-sided modules. Real single-channel operation uses two modules both in the same channel, or one module. Virtual single channel uses three modules which makes the two channels unbalanced, and operates exactly the same as single channel as far as bandwidth is concerned. VSC requires both channels to have the same number of rows.