So let me get this straight. The Wii U CPU is having problems because the code on the PS3/360 is so complex and filled with things to get around their bottleknecks that the Wii U CPU doesn't need and thus wasn't designed to handle?
Not just bottlenecks. It's a mix of everything.
Current gen console CPU's are in-order solutions, that means, they can only process one thing at a time, it's like a line of people in front of a store balcony; they have to be dispached in order of arrival; even if one client has 1000 things in the basket and the other one just one; one will take forever to attend to, and perhaps even create problems along the way whereas the other one will simply have to wait.
Out of order being more like a multiple counters type of solution with someone or something overseeing the load and where those people should go in order to get away faster, instructions get sent and then they wait, if the branch prediction thinks it can fit between two other instructions then it gets dispached there and gets across faster.
Xenon and Cell are in-order, so predicting this problem, not seen since Pentium 1, they added two lanes (2-way) just so when one line is stalling the other one can be moving nonetheless.
This is oversimplifying things though, as normal multithreading on out of order CPU's is meant to take advantage of unused resources, which usually amount to a 30% boost at best, but on these cpu's case, because they simply stall if something being executed has to wait for something from memory (and doesn't concede that turn for something smaller to be parsed) it actually means that the second thread sometimes has 100% of the processor overhead for it, making it even more important to have multithreaded code.
That means the code has to be aware of such structure though, it has to be multithreaded; Gekko/Broadway/Latte are not capable of that; they don't have two lanes, so if code optimized for that gets to it, not only will it be written for strenghts that are not his, it'll also ocuppy two cores instead of one (no software should be doing that, of course), anyway if you drop code designed like that it'll simply flunk... bad. The only way for that not to be the case would be brute force, high clocks at that.
PS3 and X360 solutions were designed like that for floating point performance, simplifying and broadening everything else (basically, it's the opposite of PPC 750; being short pipelined means less MHz and that'll hamper FPU performance in the end, because it's separate from the main CPU design but operating at the same clock; with these cpu's the decision was simplifying them up to the point they're pretty weak in general purpose, just so they can clock higher and that happens to benefit the FPU performance); this happened as Sony had Emotion engine before and it was the only thing on PS2 outputting floating point (the GPU outputted 0 Flops).
Cell was designed to be like a Emotion engine, SPE's being like the Vector Units on it, and Sony even thought about not adding a GPU for a quite a bit, instead making a PS3 out of two Cell's. Dude's were crazy and living the dream back then.
The software ended up having to be badly coded.
You have this modern approach to coding where it is stated that good code is abstract to the hardware and thus retaining easy portability; that makes everything console pushing related a bad practice, or bad code, since you're trying to bend the code to the hardware, and with hardware so peculiar as current gen console cpu's all the worse.
It ended up like an anarchy of sorts, people spent years optimizing their software and tech for in-order 2-way; and considering the fact that performance was still lousy and they lacked things like a sound processor (making them use the cpu for stuff like that, draining further resources) they went further, the only thing these cpu's were good at was floating point so you had things no one in his right mind would write with floating point in mind, like AI, being written to take advantage of otherwise unused CPU overhead.
Of course that code doesn't scale well onto Wii U; it doesn't scale well for PC either, but PC at least has the power to bypass it through brute force.
It's complicated basically, but essentially they're completely different designs with the Wii U being a more standardized design, and thus dealing well with good code (example PC ports should go well, as those are never too optimized for whenever) but very badly with current gen bad code.