or via a £5 USB programmer.
The quick answer is that USB programmers are traditionally more expensive than that, and significantly more difficult to use. An Arduino is essentially a $10 microcontroller with a $10 USB interface that service double purpose: communications AND program loading. Adding a $10 programmer is a 33% cost increase... (those are sorta "wholesale" costs...)
Recently, the cost of USB programmers has really dropped,
these days, you can find USBASP programmers on EBAY for under $5 USD all day long.
In fact it has reached such a commodity level that you can now even get USBASP programmers in fancy "pretty"/"cool" colored
cases for about $10 USD.http://www.ebay.com/itm/USBASP-ISP-Download-Programmer-Adapter-51-AVR-MCU-/150657060031?pt=LH_DefaultDomain_0&hash=item2313dc4cbf
These low cost programmers can work with the Arduino IDE with a few modifications
to a couple of control files so ease of use is the same once the control files have been updated.
What is somewhat ironic is that these days the USB to serial interface/cable costs more than a low cost USB ISP programmer.
But as far as overall cost goes, if you use "arduino"
boards that don't have the USB to serial interface on them because USB communication/data connectivity
is not needed for final operation, the cost of a USB to serial
device/cable (for debugging) and a USB programmer for programming can be divided across all your boards to give
a lower overall cost per board/project with savings starting after about the 2nd board/project vs something
like the UNO board.
So in some situations using a USB programmer can be cheaper
than using a USB to serial interface for uploading via bootloader.
One area where I think a bootloader makes the most sense is on the AT90/32U4 series AVRs
like the Teensy boards.
In that case, by having a USB based bootloader, you can completely eliminate the cost of both
the USB to serial device/cable and the USB programmer since it has USB support built right in to the AVR.