Serious reading, as in the kind that renders reviews, is usually something I leave to others. I have definite views of the role of fiction, and very definite views on my own idiosyncratic tastes and ways of reading. Stumbling upon this kind of discussion, then, frustrates the bejesus out of me. Comparing Shakespeare to Bunyan is difficult at the best of times; they were very different authors, pursuing very different agendas, with very different styles of writing. One can, to be sure, prefer one to the other for any number of reasons; on matters moral, however, I cannot imagine preferring one over the other. Especially, as George Scialabba clarifies in a comment, in the arena of moral imagination, and the way their deployment of language reflects a sense of heroism and grandeur.
First of all, those notions would be foreign to both Bunyan and Shakespeare. Bunyan's Pilgrim was no hero, but a type. That Bunyan saw his pilgrim moving through a Manichaean universe with a sword of justice and a shield of righteousness at his side does not make him heroic, just a baroque Puritan knight-errant. That Shakespeare's characters recognize the moral ambiguities of the dramatic worlds they inhabit is not a lack of moral imagination, but a recognition that these are characters that have to act, and react, to specific plot points. Shakespeare was a playwright before he was a poet. His writing was nothing if not functional; banal, perhaps, but even the best writers are not above banality if it can illumine both character and action.
Finally, to rest upon moral imagination as the final arbiter of what makes one author, poet, or playwright better than another is a fool's game. Especially as we enter the modern, post-Enlightenment and Romantic eras, writers are nothing if not the purveyors of a certain moral sensibility; the best writers, while first and foremost interested in telling a story, are also telling a story about people we have to recognize, including as moral agents. Whether it is the cut-and-dry morality of Bunyan, or the far more ambivalent sense of good and evil one encounters in Shakespeare, we must find something recognizably human about those we encounter, or we as readers or viewers are lost. While I will not gainsay George's preference for Bunyan, I will most definitely insist that Shakespeare's moral imagination, while certainly "pedestrian", is preferable for all that. One makes ethical decisions with what is at hand, even at the best of times. The best characters in Shakespeare have as simple a moral universe as Pilgrim, which is why they far too often are supporting characters rather than leads. While Hamlet wrestles with "what to do", Horatio looks on and listens far more than offers advice. Yet, at the end of the play, with the bodies lying around in heaps, it becomes clear that Horatio has a far better, and more clear, moral sense that Hamlet, his uncle, or mother, ever did. Yet, precisely for that reason, Horatio as a lead character in a play would be dull indeed. Dramatic conflict doesn't come from moral clarity (except perhaps when it is coupled with poor judgment) but from moral ambiguity. With that in mind, I prefer neither one to the other, but read them both for what they are.