Because Orbiter can totally compete on the same level as mass-marketed franchises. I mean, its graphics are so modern and...oh, wait.
People want shiny and new and cool.
Somehow I doubt that just playing video games taught you how to install floppy drives, unless you were playing some kind of install-a-floppy-drive game.
Programming inefficiencies? Yes, that's the only reason that you need new hardware. It's not like AI, or graphics, or physics simulation, or anything else that just requires more computation has come a long way. Programming efficiency has little to do with it.
Odd, I built a desktop back in like 2005 that was able to take any game I threw at it for the next four years or so...
If you're planning ahead, you shouldn't have to replace a major part every year.
If, on the other hand, you're trying to be "thrifty" and buy older parts that just meet the requirements for whatever game you want to play, then yeah, you can expect to need to upgrade for the next generation of games.
On that note, that's another reason why consoles are preferable to both end users and developers. An XBox 360 from 2005 is just as capable of playing today's games as an XBox 360 from yesterday.
Orbiter's graphics are pretty off-kilter compared to today's over-hollywood-ized, over-saturated, over-bloomed, mis-colored, mass-produced games.. Problem is Orbiter is too realistic. And real spaceflight is too boring. There is no twitch factor. Things happen too slow in real-life space exploration to RELIABLY capture the attention of a younger kid's DS-ized and damaged attention span. Shiny and cool definitely. Orbiter is not star-wars.
I had to install a floppy drive in my Apple II in order to load some games. It was part of the owner's manual!! So therefore being a gameplayer taught me that.
It would same that one of my systems ran(runs) orbiter just fine, from it's first incarnation in 2000 all the way now to 2010. I cannot say the same thing for fifa soccer or gta or madden! No sir..
Sure, physics and improved ai and all that stuff takes time. But for chrissakes!! We have 6 core chips today. And framerates STILL lag, and worse, they are not consistent!! X-plane is the worst offender, going from 20 fps to several hundred fps! I'd rather be stuck at 30-40 fps consistently.
Imagine if a portion of the code of modern games (the graphics core especially) was coded directly in binary, just imagine the performance then! Today, lazy programmers need to work with a language (and scripts on top of that), that are 5x removed from the hardware. If that isn't inefficient, I don't know what is!?!!? The worst being anything browser and flash-based.
Expanding upon the xbox being just as good today as it was 5 years.. Let's rip that apart a bit shall we? First off I don't know of any computer hardware that actually slows down over time. That is a marketing-created concept. My Orbiter computer runs at the same Mhz/Ghz rate now as it did 10 years ago.
The kicker for the consoles is that they don't have to manage a complete O/S, I/O, and all sorts of peripherals with half-assed unstable drivers. The console environment is fixed, specified, and not changing. The PC is basically a box of parts, where everything can be different, from bus-speeds, to i/o timings, to sound capabilities, and worse off, processor speed and graphics chips. Not to mention the last two parts often have different instruction sets. So a programmer needs to cover the lowest common denominator, or risk alienating part of the user base.
And not all game programmers have access to a consistent set of tools. It's just one big mess.
There's so much more I wanna ramble on about, but I gotta run..