They all had their own trade offs. PS2 was designed as a CPU approach to GPUs, one coprocessor was to act as a vertex shader, the other as a pixel shader (PS2 additionally had 12 pixel pipelines.) Gamecube was more of a classic design. By classic, I mean when GPUs first came out, everything was fixed function (The TEV unit was some weird fixed function pixel shader from what I understand). The Xbox was more forward thinking on where GPUs were heading, the console was just bottlenecked, too much PC in the design. Microsoft did technically have the right hardware for where graphics were heading though.