Just to make one very significant point here - Everything else is worth complaining about, but the point about XBLA and 360 games is a little different in terms of how it benefits the consumer.
The reason for not having backwards compatibility is the processors in the systems (PS4 too)are now x86-64 based, instead of PowerPC based. X86-64 is the same architecture your desktop PC works (Unless your PC is super super old).
This is a GOOD THING. For one, it means that porting games from PC is now relatively easy, meaning games can be developed for PCs, and then the visuals or code subsequently scaled down from much more powerful PC hardware for console, without needing to redevelop large portions of the code for a completely different type of processor architecture.
This means no more excuses for bad ports, and more than that, it means that game developers can develop a balls-out, unbelievably complex and well optimised game for PC, which becomes the de-facto, highest end version for those people whose machines can handle it, but without having to redevelop the whole game, they can take that PC version, scale it down to fit the hardware constraints of the consoles, and then release it on the console. Everyone benefits. Large, multiplatform games will now take less time to develop overall, and cost less money to make. The code can be optimised more quickly and more effectively, meaning more performance can be gotten out of the same amount of processor power.
In comparison, before this, games had to be developed with redundancy in mind - Advanced processor instruction sets like SSE4.1, which simply don't exist on consoles, couldn't be used, even in the PC versions, because developing code to leverage them might cause problems with the transitioning of that code to consoles, resulting in errors and a need for massive bugfixing.
Now, using well established, simple development frameworks refined throughout decades of PC development on the X86 and X86-64 architectures, those instruction sets can be used more easily and with less chance of breaking the game in the transition to the console format.
The net result is every platform recieves a better game in the end, more multiplatform titles, (Less console exclusive games, since PC versions can be made the norm for all games) more games, developed more quickly, for less money, and even despite all of that, the end product can also be more reliable and stable for everyone.
On top of all of THAT, the major thing holding back 64 bit game development in general, for the PC too, has been the need to stay on 32 bit for the sake of the console port. This means that even in majorly heavy duty gaming rigs with 8 or 12 or even 16GB of RAM, only 4GB of that RAM, maximum, can ever be used by any one program.
The consoles having 64 bit architecture means that consoles can FINALLY give PC gaming the kick it needs to break out of 32 Bit constraints, and developers can start making code and designing ideas to take advantage of a HUGE limit being lifted from their hardware. - until now, there wasn't enough industry momentum in the PC side of things alone, to persuade developers to give up the possibility of porting their PC exclusive games to consoles. Lack of 64 Bit momentum in PC gaming, and the need for those developers working on PC ports of console games to stick to 32 bit, has prevented 64 Bit gaming from becoming a reality.
Now that there is no remaining hardware barrier, the software barriers can be broken to move to 64 bit, and everyone will benefit massively because of increased stability and further performance improvements. Bethesda are a good example of how good this can be, ironically precisely because their code is usually so terribly written.
Typically, Bethesda will release a game like, say, Skyrim, and it'll have a pretty harsh memory limit, owing to 32Bit architecture. They then release a software tool that "Tricks" the program into addressing a lot more memory than it otherwise could - the removal of the memory limits allows the program to be a lot more stable because it removes the need to be so careful about when you overwrite info in RAM - because you have space to NOT overwrite it. The game runs smoother and crashes less.
[B]
All of these things mean the systems can't be made backwards compatible with 32 Bit PowerPC or Cell (PowerPC-RISC) instruction-set based games. And I am, and you should be, willing to accept that tradeoff on the basis of how utterly, utterly HUGE the benefits are in the (slightly) longer run. Anything but another generation of 32 Bit games on 32 bit consoles. Here's a timeline:
- 1985 - 32 bit architecture processors start production, starting with the Intel 80386, also known as just the 386
- 1992 - Microsoft releases Windows 3.1, a 16 Bit operating system later given 32 Bit support via an optional program, Win32s.
- 1995 - Microsoft releases its first primarily 32 Bit OS, Windows 95. It still runs most 16 bit apps.
- 1998 - Microsoft releases Windows 98. Like its predecessor, it is a hybrid 16-bit/32-bit Operating System.
- 2001 - Microsoft releases Windows XP. Again, like its predecessors, it is a 16/32 bit Hybrid OS.
- 2003 - Microsoft release Windows Server 2003. This is, again, a 32/16 Bit operating system, but is later updated in 2005 with a 64 bit version, Microsoft's first 64 Bit capable OS.
- 2003 - AMD release their first 64 Bit Opteron CPU, using their new AMD64 branding and architecture they also release the AMD64 desktop line at the same time.
- 2004 - Intel release their first 64 Bit CPU, a Xeon, and begins 64 Bit consumer production with later model Pentium 4s. Following this, all successive generations of Intel desktop processors will include 64 Bit support.
- 2005 - Basing it on Windows Server 2003 64 Bit, Microsoft releases Windows XP x64. The 64 bit OS has many driver issues and obtains only limited support.
- 2007 - Microsoft releases Windows Vista, in both 32 and 64 bit versions. This is the first Windows release to obtain widespread 64 bit support from hardware manufacturers. Successive Windows operating systems are available in both 32 Bit and 64 Bit versions.
So yeah, 28 years of 32 Bit desktop processors, and 21 years of 32 Bit Operating Systems. Its getting a little long in the tooth, don't you think?
TL;DR - The new consoles don't have backwards compatibility because they've moved to 64 bit, desktop based processors and architectures, making it impossible to run the code the older games were built with. This is a good thing, because it means the industry, both PC and console, can finally move past a limit put in place nearly 3 decades ago, and also developers have less problems in creating games that will run, and run well, on both desktop PCs, one console, and the other console. Everybody wins, the tradeoff is simply keeping your old 360 instead of selling it, if the games on it are that important to you.