Fifo incurs a second copy into a USB buffer but this ensures the correct USB buffer alignment. Some LPC chips require 64 byte alignment that txbuf couldn't do.
It also introduces a txbuffer which copies data into it but passes the buffer straight to the USB rather than another copy.