Sony had much more than 2 million PS2's on the shelves for the most time if I remember correctly.
2 million is surely high but the PS3 underperformed during Christmas because of the reccession and because of the Xbox360 price drop.
2 million is not that high of a number for worldwide stock. Sony absolutely tends to stuff the channel, they always did that. Add the fact that the PS3 underperformed and you get it.
About the Xbox360 number: Almost all of our VGChartz users underestimated the Xbox360's holiday sales and stores where surprised too. So the Xbox360 actually had less supply during holidays than stores expected, right? So why are you acting surprised there are 2 million PS3 on shelves? The PS3 sold much better during the whole year and of course it was expected that would carry over to christmas. That didn't happen, it's that easy.