As others have stated above it is related to costs but the biggest one hasn't been mentioned yet, distribution costs.
On top of travel agent commissions, everytime you make a booking through one of the many world-wide GDS's there's a cost to the airline. It is generally in cents for each RPB-Revenue Passenger Boarded. Each of those costs add up to millions a year in distribution costs. If you make a web booking on www.ba.com the booking is made in the host system and it saves that penny.
The internet has also presented quite a few problems for airlines. In RES and GDS systems the airlines know where you are based on the IATA sign in of the agent. Airlines can bias availability for certain countries and not others if they want more revenue from a different station. With the internet that goes all away, no way of knowing that the passenger making a booking from LHR
is in London, Paris, Sydney or Khartoum. That is scaring the crap out of them.