I finally finished James Rachels' The Elements of Moral Philosophy (fourth edition). It wasn't bad. Basically it goes through all the major moral theories and tells you what they are, and some of the associated problems. The book does a decent job of giving the opening moves in each of the theories.
The book is obviously designed for an undergraduate introduction to ethics course, and it is particularly well suited for that. It is very clear and lays out each theory of morality well.
There are a few flaws. First the book does not tell you what the point of giving you all these moral theories are. I mean, why is the book giving me theory after theory? Is there a right one? Actually, he tries to tell us in the last chapter what it would take for a moral theory to be right, and how you can take a little from here and a little from there, and you will get a satisfactory theory. However I think that he went way too fast on that chapter, and did not bother to deal with the obvious problems.
There were a few other weird things in the book, like, I think he never read the Bible too carefully, although he does take the time to talk about it. He seems to give equal time to cultural relativism, utilitarianism, Kantian ethics, utilitarianism, social contract theory, psychological and ethical egoism, feminist ethics, virtue ethics, and subjectivism/emotivism. This is a bad idea. Despite the fact that there is no real reason given to prefer one over the other, there are some that deserve more time than others. Cultural Relativism and Divine Command Theory definitely deserve less time than all the others, and this ought to be reflected in the text. It isn't.
But despite my criticisms it is one of the better books in the field out there on such an introductory level. I would recommend it.