Because for arbitrage you need to know the price in both area's before you can react. If its instantaneous at the collocated site and 5ms to get to your other machine, you need to wait 5ms to act and then add about the same time back on to send your order to the further location.
If your machine is in the middle then you only need to wait 2.5ms to act and then add about 2.5 ms to send your orders.
This type of arbitrage is much easier if all orders originate from one machine( as opposed to each collocated machine sending its piece of the stat arb order.
If you have 2 machines sending their own parts of the arb order then you have to sync them if one fails to get its side of hte order, and hence more latency.
EDIT in case I wasn't clear, the benefit is having one machine do the arb instead of two machines sending simultaneous orders. This way the two machines don't need to sync up to determine if one leg was done and one leg was hung. All the information is in the same program on the same machine so there is no distributed state to reconcile.
Example: machine A instantaneously become aware of some event at exchange A. It sends an order to remote exchange B (which takes 5ms) and at the same time sends a matching order to exchange A. Total time = 5ms, which is the same as having a machine in the middle having a latency of 2x2.5 = 5ms. [Edit #1: I edited this sentence to reflect the fact the algo sends the matching order immediately to the local exchange.]
So I still don't understand why is there any advantage in having a computer in the middle.
Edit #2: you wrote an edit ("This way the two machines don't need to sync up to determine if one leg was done and one leg was hung. All the information is in the same program on the same machine so there is no distributed state to reconcile.") which I think finally clarifies the advantage in having a computer in the middle. You don't run the risk of the 2 computers at each end executing orders that conflict with each other.
Both sides can this way make identical decisions to eachother, at the same time, and identical to those that would have been made by a computer in the center.
You are saying it is better to know exchange A's price as of 2.5ms ago, and exchange B's price also as of 2.5ms.
But why? Either way you are ignoring 5ms's worth of trading activity. Either 2.5ms on both exchanges, or 5ms on one exchange.
Edit: I think I understand the advantage - see my edit #2 in my post above.
Not necessarily. You could buy a line with less latency than that of the exchanges. This would allow you to act quicker at the second exchange.