The 3DS and Wii U GPU are totally different. The 3DS GPU is very specialized while the Wii U GPU is quite open. For both designs you have to choose wisely how to use them. Both can generate great visuals and have lots of options.
When testing our first code on Wii U we were amazed how much we could throw at it without any slowdowns, at that time we even had zero optimizations. The performance problem of hardware nowadays is not clock speed but ram latency. Fortunately Nintendo took great efforts to ensure developers can really work around that typical bottleneck on Wii U. They put a lot of thought on how CPU, GPU, caches and memory controllers work together to amplify your code speed. For instance, with only some tiny changes we were able to optimize certain heavy load parts of the rendering pipeline to 6x of the original speed, and that was even without using any of the extra cores.
You already have lots of power at hands without digging deeper. So i’m pretty sure we will see many cool stuff on the Wii U when developers are understanding it better.
In comparison to the Wii, the Wii U has much more potential for optimizing. On Wii you knew what was possible and used that power. On Wii U you can take many different approaches to tackle a problem. Fortunately you already have lots of power at hands without digging deeper. So i’m pretty sure we will see many cool stuff on the Wii U when developers are understanding it better.