Unless the Wii becomes insanely successful (think DS in Japan levels) and third parties have to compete amongst each other on one console, this will continue to be the case.
The problem is not that Wii developers are sloppy, but that all developers are sloppy. Devs hate pushing limits. If you look at them as businessmen, you can't really blame them. It takes copious amounts of time and effort to utilize a system to near its full potential.
Think of a console's resources as a spring. Pushing the spring back is like programming for those resources. If you only use half of them, it's fairly easy, and you've got a good amount of slack, or "play." This is like Wing Island on the Wii or Genji 2 on the PS3. The further you squeeze the spring, however, the harder it becomes to squeeze it. And you've got a lot of tension and not much give or room for error near the end. This is like God of War 2 on PS2 or Rogue Squadron or RE4 on GC or (I think) Ninja Gaiden on XBOX.
If you're strictly out for money, there's little incentive in putting in the effort and time it takes to push the limits. People will buy shit -- that much proves itself over and over.
If integrity, art, standing out, things like this matter to you, you'd be more willing to sacrifice.
People often say the current generation came to quickly. The main reason I agree is that it encourages sloppy coding. Developers (outside of your Kojima teams and your EADs) were just starting to settle down and program efficiently and with care when MS (and now Sony) came along and said "Forget about these limits. Here is a mess of resources you can play around and get dirty in." It sounds good in theory, but most devs can't handle the psychological aspect of it and wind up programming sloppily or just writing bad code.