Originally, "buy one get one free" was a random, end of season or stock clearance method used by shops who were left with a large quantity of stock that they were looking to sell quickly. More recently it has become a popular, planned and considered marketing method.
One article has argued that the success of this promotion lies in the fact that the price actually takes into account the fact that two items are being sold. The price of "one" is somewhat nominal and is typically raised when used as part of a buy one get one free deal. Whilst the cost per item is proportionatly cheaper than if bought on its own, it is not actually half price.
Buy one get one free is a popular sales technique because it can be used legally at any time, unlike many other offers. For example a shop cannot claim an item is on "Sale" or is "Discounted" unless it has been available for sale at the previous, higher price for a given period of time.