The SPEs that make up the bulk of the Cell's muscle are hard to use in games given the PS3's setup, and often you are waiting on the core to get data to and from them.
While I agree the SPEs are a pain in the neck to program for, one of their redeeming features is that they use asynchronous IO when writing/reading to/from main memory. One of the key design points with Cell was that modern processors spend an enormous amount of time waiting on memory operations to complete, something that gets worse when you introduce extra processors competing for memory cycles. An individual SPE can be reading in one set of data, writing back another, and processing a third all at the same time, there's no need to wait on data transfers.
Granted though, this is only actually useful in limited situations, they're rubbish for general logic operations.