The reason is money. Some retailer will refuse to sell the game if it's released earlier online. It's the same reason why the game will cost as much on steam as it will in store.
That is a crock... no retailer will refuse a game, that big especially, early. They would change their dates as fast as you can blink.