Theoretically, USB 2.0, with max. 480Mbps, edges out Firewire400, with 400Mbps. In practice, though, the USB drivers for Windows tend to be CPU-intensive (don't know if this is the same for Linux).
For a single-device setup, you won't really see a throughput difference between a USB2.0 and firewire400 device, although you'll probably see a bit more CPU activity in the USB scenaio.
Once you get into multiple external devices, you should start seeing better throughput with Firewire.
Reliability-wise, I haven't seen any difference. A device is connected or it isn't.