I can think of two reasons for showing early:

1. It lets Nintendo (or Sony/Microsoft/Sega, whoever) control the announcement message and show what they want. At this early stage, it's likely very few developers have direct access to the SDK or test hardware, but that will need to expand to ensure enough launch games also exist.

2. It gets developers interested in making games for the system. Games takes years to complete, and if Nintendo wants a stead stream of releases from launch onwards, developers need to be working on titles now, and not in 2012 when the console is ready to ship. Console development is also a more involved relationship, with the developer needing to buy access to the SDK and test hardware, along with certifying their games with Nintendo prior to shipping.

In most cases, the older console will continue to sell fine, as the price drops help to open it up to more and more homes. The new consoles will always have a higher price point, and fewer games out of the gate. The Playstation 2 has pretty much achieved the 10 year lifecycle goal Sony had, even though the Playstation 3 shipped in the middle of that cycle.