Arbitrage is one of the most used strategy in forex markets. It exploits currency price differences. Thanks to an arbitrage strategy, a trader buys and sells currencies whose prices are currently divergent but extremely likely to rapidly converge. The effectiveness of the strategy is based on the bet that, as currency prices reverse towards a mean, the arbitrage becomes more profitable when closed, sometimes even in milliseconds. Therefore, arbitrage strategies rely on unusual circumstances occuring on the market.
It is not easy to follow this strategy in forex markets, because they are decentralized, and, because of that, there can exist moments where the quotation of a currency traded in one place is different from that one of the same currency traded in another place. A trader able to detect this difference can buy a currency at the lower of the two prices and sell it at the higher, making a profit.
For example, suppose that the EURUSD pair was quoted at 1.1 in London and at 1.12 in Frankfurt. A trader with access to both quotes can buy the currency at the London price and sell it at the Frankfurt price. When prices later converge at say, 1.125, the trader closes both trades. The Frankfurt position generates a loss equal to 0.005, while the London position generates a gain equal to 0.025, so the the trader gains 0.020, less transaction costs.
Such an example may suggest that such a small profit would hardly justify the effort made, but many arbitrage opportunities in the forex market are exactly due to circumstances like those described in the example. Because such differences could be observable across markets many times a day, it is worthwhile for traders to spend time and money to build systems which capture these inefficiencies. This is one of the reasons why forex markets are so heavily computerized and automated nowadays.