The first argument of why it failed that's mainly been agreed upon by many is that the games did not live up to Nintendo standards and didn't really take a step forward from the N64 era. While from a personal standpoint I disagree with this cause I personally loved the Gamecube's game library even Mario Sunshine & Windwaker. I see why the majority of people weren't interested in buying a GC since most of the games did not seem live up to the N64 quality of games, where games like Mario 64 and Zelda OOT set the gaming world on fire, the Gamecube didn't really seem to have any sort of game like that. Mario Sunshine, while I love the game, seemed a shameless sequel to one of the most revolutionary games of all time Mario 64 where the gameplay was so unconventional and in a lot of ways a step down from Mario 64 and didn't do anything to stand out like Mario 64 did, plus it didn't help that the marketing of the game was awful. With Windwaker, it was another less conventional Zelda game that used a cartoony-artstyle instead of the dark revolutionary Zelda game that everyone was hoping for, and it further pushed the idea that the Gamecube was a toy and a kiddy console. Many people who brought an N64 didn't seem interested in upgrading to a GC where the games seemed less impressive than their N64 counterparts.
Plus I think the lack of 2D games likely hurt the GC as well, since their seemed to be a bigger market of 2D games than 3D games. Comparing the sales of NSMB games to 3D Mario Games proved it, many casuals are turned off by a console that only has 3D platformers rather than simple 2D platformers. I believe that's one of the main reasons consoles like the NES,SNES,DS,Wii, did more successful cause of 2D Platformers, the GC had none.
It also seems like Nintendo didn't appeal to those who didn't purchase a Nintendo system before, some big violent games completed missed out of the GC giving the GC an image that you can't get hardcore experiences on it, plus it lacked RPGs, which is huge in Japan, ect..







