@ Strobe
There have been a few explinations for this.
The most obvious, however, is the low-overhead for Firewire. To set up a firewire transfer, you just set the source address and target address and transfer size, and it does the job for you.
PCI, by comparison, is high-overhead. It uses packet-sized, bus arbitration, and most of all, needs to use the CPU for all of this in most systems. This means that approximately 20-40% of the clock pulses actually can't be used for the bus transfer. They are used for the electronic equivelent of bookeeping.
When Firewire says 400 or 800Mbps, they mean you get exactly that for performance, due to the low overhead. PCI's thuroughput, by comparison, comes in at a grizzly 166Mbps in many northbridge combos. (do the math here, 33Mhz x 32-bits == 1056 Mbps potential for all devices on the bus combined. A PCI bus allows up to 4 devices, so 1056/4 == 264 Mbps per PCI slot. Now, some northbridges do better arbitration, allowing a PCI bus to send more bandwidth to a slot if there are fewer devices then 4, but many don't, so we'll stick to the 264Mbps here, to show a worst-case scenario. Add in the bus overhead, let's say it only has 20%, so 264Mbps x .8 == 211.2 which is barely faster than the slowest Firewire availible, 200Mbps)