Another reason for size discrepancies is the way clothes are mass produced. The fabric is placed in layers, then the pattern is cut out. The bottom of the stack will be less precise than the top, making for a slightly different size (I think the bottom layer comes out larger). So, you can get a small 4, or a large 4, of the exact same garment, in the same store. I was told this by a Gap manager.