What are the elements of a good book cover?
There is only one purpose for a book cover—to make you pick up the book. When someone is browsing in the bookstore, you’ve got a matter of seconds to grab their attention so your book cover needs to be fresh, unique, interesting, and it needs to stand out from all the other books on the shelves. It also needs to be representative of your story—either a photo or illustration of your characters or an image that evokes the feel of the story.
A really good book cover pops out at you because the designer has used imagery, color, font and layout to create something that grabs the eye and holds it. Creating a good cover requires an artistic eye, a feel for what is currently in fashion, knowledge of the science and psychology of art, and some skill at manipulating the observer through the use of the various cover elements.
As to what works best—light vs dark covers, photos vs illustrations, simple vs complex, conservative vs unique fonts, etc.—that depends on your genre, your customer demographics and current trends.
If you want a lesson in good vs bad book covers, go browse at a bookstore. You’ll recognize the good ones because they’ll be the ones that catch your eye and hold it.