The bitching about the PS2 was only the first year, and that was due to two factors:
1. The VRAM focused size over speed (look up embedded dynamic memory). Developers were used to size, like on the PC, but once they caught on, it wasn't a problem, especially since the GC used the same type of RAM, and the GC was designed to be easy to work with.*
2. The PS2 didn't have things like anti-aliasing, and 8-way render passing, built in. Yet it turned out the PS2 didn't have them built in because it was designed to do them manually with the CPU's two vector units, instead of automatically with the GC's, and Xbox's, GPU API. Once they caught on how to do that, they just applied them to any game that needed it, just as they did with the other systems.
So it wasn't that they had no choice. They actually got used to the system, just before the GC and Xbox launched, so the ease of use for those systems was made moot (as lack of texture compression was not that hard to work around).
With the PS3, it is also a matter of getting used to, but with little to offer consumers, and something big to drive them away, the system would likely have an exodus like the N64, if not for the fact that developers are deliberately supporting all systems.**
*Of course the GC had to be worked with in the first place, which is why developers largely have to get used to the Wii.
**It's to ensure that 3rd-parties have as much power as the hardware developers, no matter who is in the lead.