From what I understand, the compilers are pretty optimized for it. The problem is that you can't just throw code at it like you can with an SMP system -- the SPEs are special-purpose processors. They can do a fairly simple set of instructions extremely quickly. This is how Sony can say that their system can achieve performance of up to 2 GFLOPs with a straight face.
If you want to talk strictly about general-purpose instructions, the PS3 actually has a third of the raw power of the Xbox 360. I believe the reason that some ported games have such issues with the PS3 is because they throw out a lot of general-purpose code (which the Xbox 360 and PCs can deal with very efficiently) that cannot be effectively optimized by the compiler to work well with the SPEs.
When it comes to multiplatform games, the PS3 is always going to suffer because of this in a similar way to how the PS2 did. The PS2 was actually a very powerful machine, but it is extremely difficult to program for. I don't really think that the reason the PS2 took off while the PS3 stagnated deals with games at all. When you look at it, when the PS2 came out, the Dreamcast already had a fairly strong library of games out for it while the PS2's launch titles were...not-so-good. Logically speaking, the only real things that made the PS2 stand out from the Dreamcast is the backwards compatibility and the ability to play DVDs. The PS2's DVD playback capabilities were actually a bit better than many set-top DVD players. Most affordable set-top DVD players only had stereo outputs; the PS2 supported 5.1 surround with its optical output.
Let's fast-forward to the PS3. When it was released, the HD war was much less clear -- nobody was really sure whether HD DVD or Blu-Ray would win. The PS3 was launched at too high of a price. While the PS2 was priced competitively ($50 more than the DC, IIRC, but right on par) the PS3's price point was initially pushed quite a bit over that of the competition (at least $100 over, comparing the 20GB PS3 to the Xbox 360 Premium -- and if anyone starts with that line-item comparison bullshit that so many people try to pull I swear I'm going to delete your post). The game selection simply wasn't there, and wasn't there for a good chunk of time (meanwhile, the X360 developers cranked out quality titles such as Crackdown, Gears of War, Halo 3, Forza 2, etc). Sony was also somewhat smitten by their release timing. I can't really blame them; who would have guessed that the Wii would have wound up being the blockbuster console that it is. Aside from that, they simply did not have enough units to release at the time. It's really telling when 24 people can walk into Best Buy on release date and get a Wii yet only 4 or 5 people could walk out with a PS3.
Now, why did I get into this? Well, I think the main reason that developers jumped so quickly to the PS2 is because it sold so rapidly all over the globe. Developers actually spent time making their games for the system specifically. Fast-forwarding to the PS3 yet again, it didn't take off as smoothly as the PS2 did, making it a much lower-priority target than its sibling. Instead of a slew of games being specifically made for it, developers are taking the safe road and developing multi-platform titles. Rather than the games being optimized for the PS3, they are likely just cross-compiled, maybe with minimal optimizations thrown in (one notable exception, IIRC, is Oblivion, one of the few ports that was actually done well).
In the dev's defense, the Cell processor is so radically different than the two main next-gen platforms (Xbox 360 and PC) that you really can't blame them for not spending hundreds of man hours dealing with its intricacies. It's definitely not just a matter of switching some things around. When you go from having between two to four general-purpose cores to having one core with a handful of DSPs thrown in, you'd start to feel as though you were suddenly reduced to programming for a Pentium 4 with a physics card installed in the age of multi-core CPUs.
On a slightly different note, the PS3's trump card -- it being a cheap Blu-Ray player -- is starting to disintegrate.
Here is a link to a Sony Blu-Ray player that retails for $400. BR-ROM drives for PCs are even cheaper than that. What the PS3 needs right now is games. Hopefully 2008 will be a better year, game-wise, for the PS3.