You can flash the firmware via USB or Ethernet. I like USB as it is a little more "robust". By that I mean there is less of a chance that the flash will get interrupted using USB vs Ethernet.
Please understand that if your firmware flash gets interrupted or fails there is a chance you can make the processor useless. We call that "Bricking it". I guess the newer processors are more easily recoverable in that case but I have managed to screw up a couple early on in my Compact Logix career. Just be careful when you flash.
I believe the process of flashing has changed slightly now with the new PLC´s. In the old compact logix and L5x control logix you actually flashed straight from the computer, so any break in comms and the firmware was FUBAR. Now the new ones you send all the info for the flash and its stored in memory in the PLC then internally the PLC "Flashes itself". This greatly reduces the chances of something going wrong because if the firmware transfer fails the PLC wont start flashing itself.
Also be careful when flashing a PLC via USB inside a Virtual Machine. It can sometimes give false error reports because when you update the firmware the PLC powers off, when it powers on again, in some VM's you need to add the USB to your Virtual Machine again, if you don't the VM will not communicate with the PLC and so give a false error report. I got quite the fright with an L75 doing that (I was worried about explaining how I had bricked 20k worth of PLC to my boss) but luckily it was just that I had forgot to connect the USB inside the VM. Personally I prefer to flash over Ethernet because of this.
Working here as an OEM, we flash probably 3-5PLC's per day and with the new L7x ControlLogix and the L2xERM and L3xERM CompactLogix we have had very few problems, probably 3 in the last 18 months.
Regards
Ian