USB and IEEE 1394 are similar technologies designed to perform similar tasks. The most important differences are the data transfer speeds and the way they connect peripheral devices to a computer.
In terms of raw speed, the maximum bandwidth of a USB 2.0 bus is 480 Mbps, and FireWire is 400 (or 800) Mbps. However, USB uses more of its bandwidth for handshaking and other overhead between the host and the other devices on the bus than 1394, so the effective maximum data transfer speed of a 1394 link is faster.
But that's the maximum speed that each bus can handle. If you're only connecting a single high-speed USB or FireWire device, it might not use up all the available bandwidth, so either type can provide acceptable performance.
As for the connection structure, the differences are more technical than practical. USB uses a bus architecture that uses the host computer to control all the bandwidth arbitration and data transfer. On the other hand, IEEE 1394 specifies a peer-to-peer arrangement in which each device can set up a data exchange with any other device on the bus, without intervention from a host.
So which is better? In most cases, a FireWire connection is the better choice for multimedia devices and maybe for disk drives, but USB is usually the only option for printers, keyboards, mice, and other low-volume devices. In practice, most new computers and motherboards include both USB and 1394 connections, so you can choose devices that work with either one. If your own computer does not include the interface you need, look for an expansion card for your desktop system or a PC Card for your laptop with an add-on USB or IEEE 1394 interface.