The Gamecube didn't offer developers or consumers much except for fast hardware, which by itself is useless. Unlike the N64, the Gamecube wasn't riding on the coat-tails of an extremely successful console. The Gamecube needed to create new opportunities and attract new developers and consumers that Nintendo didn't already have but instead it just tried to tear down some of the development/hardware obstacles that the N64 struggled with and repackage the same console concept. Maybe Nintendo over-estimated the impact that the N64's poor hardware decisions had on the console's success and thought that if they made a developer-friendly successor that used disc-based media that everybody who left Nintendo for Sony would just come back on launch day. The truth is that even if the N64 had been a CD-based console it is likely that Sony would have still taken over the market in the late 90's because Sony was better at listening to 3rd party developers and creating the platform that they wanted.
The reality is that the Gamecube is a console that was designed to compete with the Playstation on Sony's turf, but the problem is that Sony does this job way better than Nintendo ever could and so Nintendo got spanked. That is not to say that Nintendo cannot still go head-to-head with and sometimes beat Sony in the console wars, but Nintendo figured out after that Gamecube that the only way they can do this is by innovating and carving out new markets for itself. Sony plays the long-term game by putting out low-risk hardware and focusing on relationships with developers, timed-exclusives and excellent marketing. The Gamecube was made because Nintendo was used to having control over Sony's market in the SNES days when its only competition was Sega. The N64's hardware limitations masked the underlying shift that occurred in the late 90's when Sony took over Nintendo's old turf and Nintendo was under the mistaken impression that it could get back to the SNES glory days just by doing the same old thing.