It is also worth considering that PS3 - like X360 - is basically yet another console.
Nintendo is doing many things right by differentiating itself from the competition. First the DS, then the Wii. People might call the touch screen and the Wiimote "gimmicks" but it's undeniable that they offer experiences that are different enough for people to be interested enough to buy them - the price obviously helps.
By contrast, MS and Sony are doing "bigger and better". People get bored of the same old thing, as "bigger and better" as it is. If a company can't come up with something radically new, where the shift completely changes - and it did, as Nintendo changed the focus from the "graphic-monster race" to something that is just played differently - then people will be reluctant, simply because graphics only takes you so far. It makes the geeks happy, but it doesn't do much to a lot of people, especially if they need to pay so much more for the "prettier pixels".
Before DS launched, the majority of the people were writing Nintendo off "because it can't even do bilinear!!!"... or because "PSP is Sony, it will have GT and MGS, it's bound to win!"...
Well, who's laughing now.
Even the biggest fans won't keep buying GT or MGS on every bloody Sony console. Or Halo for tha matter. There is only so much you can milk a franchise before you are forced to move laterally, not upwards (graphics-wise), and come up with something radically new.
Having said that, Nintendo are guilty of over-milking franchises too, heck they're the best in the business, with the hundreds of Mario and Zelda and Pokemon games. But at least they were smart enough to see where the market was going, and it's certainly paying dividends.