The relase of a new console should be made when the old still has sales that can sustain your income until the new console can live on it's own; you're not relasing a console based on todays sales, but on sales 2 years from now. If you're going to release your console after the sales have dropped, you're going to end up in a bad financial position - just look where Nintendo currently stands (relatively). Or what happened to Sega; even when the sales of Dreamcast shed light at the end of a tunnel, the company went down.
The second thing is, that they don't want to give Nintendo too much of a headstart. The more a competitor sells its own system, the worse your position is.
Sony and MS aren't likely going to announce their new consoles until they have to - in fear of losing sales when gamers start to wait for the new ones. However, there should be some games ready before the release to prevent what happened to Saturn - that literally had no games when it came into market.
@MarcusDJackson: Umm... I don't know if it's easier to program for PC, even if this is what you constantly hear from Windows devs when they need to program something else than Windows (you'd expect even the simplest application on mobile phones to cost billions because of how hard it is). On PC, due to constantly changing specs, you never really need to optimise the code for the processor, well, technically, you don't need to do that on consoles either, but when optimised, the performance is much better.
For an example, few years back, I read a story on paper about a university that rents processor time for businesses on their supercomputer. When a customer comes with a heavy program that they need to run, the guys at the university start by optimising the code - and when optimised, the customer notices that the program runs fine on a desktop...
Ei Kiinasti.
Eikä Japanisti.
Vaan pannaan jalalla koreasti.
Nintendo games sell only on Nintendo system.







