Originally Posted by Jenbel
Generally because someone has already got the code the airline would have preferred - by using only a two character identifier, IATA greatly limits the number of airlines which have codes, and its kind of first come first served - so all the legacy airlines have the codes they wanted, but most of the newer airlines have to use anything which is left, which may or may not be anything to do with their name. Codes get recycled too when airlines go to the wall, there is such a shortage of them! Can make looking at historic data interesting if airlines are identified by IATA code, as you have to remember what years some of the major airlines died.
True. Sometimes there are also historical explanations caused by the merger or takeover of airlines, or simply by changes of name. So BMI for example use the identifier BD, because they at one stage operated as [British] Derby Airways. And Swiss use LX because the airline used to be called Crossair, and the German word for "air" is "Luft" (the old Swissair SR code disappeared when SR folded a few years back).
Then there are the rival three letter identifiers used by the International Civil Aviation Organisation (which are used on passenger displays at Spanish airports, for example). These can differ totally from the IATA code:
BA=BAW (British AirWays)
BD=BMA (British Midland Airways)
EZ=EZY
IB=IBE
LX=SWR (Swiss - they salvaged the old Swissair ICAO code)