First of all, Forex is a no-dealing desk market with all transactions running 'over the counter', and it comprises a huge number of participants.
The major Forex market players are the largest global banks. Thus, the price for each particular instrument is determined freely, unlike the price of exchange products. This means that Forex works like a few exchange shops may do, with each shop showing a slightly different rate, even when such shops are very close one to another.
In Forex, every market participant chooses the price they are willing to buy or sell an asset at, and every bank has a liquidity pool formed out of the buy and sell request.
Say, a bank is willing to buy 100,000 units of EUR/USD at 1.1010, 500,000 units at 1.1015, etc. This liquidity info is transferred to our trading platforms and is displayed at the best price available, i.e., 1.1010.
Still, some other liquidity providers may offer better prices, such as 1.1011 or 1.1008. Even under normal market conditions, this difference may range up to 10 pips.
However, with increased volatility, such as when breaking news is released, or low liquidity, like long before the trading day is over, it may be much larger. With so many participants in the market, each with their own conditions and prices, one cannot determine how much this difference could be, not even in theory.