Hi,
All USB 2.0 ICs have to conform to the USB standards which mandates that it support 12Mbps/480Mbps transmission. Under ideal conditions, you should get close to 480Mbps when you use any USB chip. This depends on the end application, board layout, etc. To find out the actual speed, refer to the datasheet of the IC, they would have mentioned the speeds got during testing. You can hope to get close to that. The other way out is to try and see for yourself what speeds the IC gives.
There are other UBS ICs, depending on the application type, for ex, AHB-USB, PCIe - USB, uP interface to USB. You need to know which type of interface you want to use for your application and choose the correct one. I would suggest you use the AHB-USB or uP interface. It will be easier to drive from the FPGA.
If you want to use an ARM uC , then you need to choose the USB IC which supports the ARM AHB/AXI bus. you can then connect it directly to the ARM and drive it using the ARM SW.
For Bulk & Isochronous, refer to the USB protocol datasheets. Its clearly mentioned in it.