Why do most Arduino boards need a USB - serial adapter?
in order to program via usb would involve a USB bootloader, some boards such as the arduino Due can actually be programmed via USB, however they still leave the serial option,

To answer why they take this method, lets say you actually want to control that USB port with your arduino program, you do not want the device to behave as another USB device long enough to to possibly be programmed with it. 

The Due gets around this by only working when the program flash on the device has already been erased, however you likely do not want to have to press an erase button on the device each time your upload either

So the main reason for the serial programming is convenience, if your controlling that USB peripheral, you want to be able to just press upload and have it work every time, equally its a nice secondary diagnostic path to use when your trying to work out what is not working if say the USB interface stops responding.