Wal-Mart, the world's largest retailer, cut its earnings forecast today (8 January) after posting Christmas sales that failed to meet expectations.