Why is it so difficult to emulate PS2 games in a PS3?
Solution 1:
Short Answer
PS2 games were made for an older CPU. They cannot run on the CPU designed for the PS3.
Long Answer
PS2 games were created to work on Sony's Emotion Engine CPU and their Graphics Synthesizer GPU. This CPU/GPU combo was put in all PS2 units and in the first variants of the PS3 (the NTSC 20GB and 60GB models) to make them backward-compatible. These models can play almost all PS2 games.
The 80GB Metal Gear Solid IV bundle had the GPU as well, but replaced the Emotion Engine chip with software emulation of the chip. It can still play most PS2 games, but support isn't as good as the earlier models with the actual EE CPU.
Models since the MSG:IV bundle had neither the CPU nor the software emulation of the CPU required to play older games.
Sony has a knowledgebase article that explains which three versions can play PS2 games. They also have a compatibility tool that you can use to see if specific games can play on those specific models.
PS1, being a system simpler and older than the PS2, is easier to emulate using only software. In 2000, Sony bought a Playstation emulator called Virtual Game Station. While the first PS2 models incorporated hardware of the PS1 (like its CPU), later PS2 models completely emulated the PS1 via software (and were thinner).
Solution 2:
In addition to Shaun's very good answer, consider the cost of emulation.
First, the PS3's with the extra hardware for running PS2 games. Basically Sony was having to pay for PS2 and PS3 hardware in manufacturing, and then selling it at the PS3's price. This was probably a losing investment for them, since the PS2 part wasn't the main attraction; it probably didn't increase PS3 sales very much. And if it had, it wouldn't have increased PS3 game sales very much -- and Sony wouldn't make any more money than they already had on the PS2 games people owned.
Second, the software emulation. Emulation is hard, especially for a sophisticated console like the PS2. As Shaun said, the reason it's hard is because the PS2 had different processors than the PS3, meaning everything had to be "translated" from PS2 instructions to PS3 instructions. While certainly more deterministic than human-language translation, this is still a hard problem to solve; especially when you only have the limited resources of a console (emulation often requires about 5x better hardware than the system being emulated did). Not to mention that the bus system (how the chips are laid out and connected) is very different between the two systems. Sony probably had to start up an entire team devoted to emulating the PS2 in software, and again it probably wasn't worth the return on investment so they shut it down.
Solution 3:
Older gamers may recall that the PS2 could run original Playstation games seamlessly (well, mostly), and be asking themselves why the considerations listed herein didn't apply to then.
Sony essentially used a original Playstation (with it's several hardware quirks) built onto a single chip as the audio-processor for the PS2, and added bus-mastering feature that allowed the sound chip to take over the whole machine when a original game was run.
This worked out without adding undue cost because the power of the original machine matched new machine's sound processing needs.