The presence of the definite article ה is what makes the difference. In order for it to be "the pretty books" the noun and adjective must both be in agreement with the definite article, הספרים היפים, (literally "the books the pretty"). Without the definite article, ספרים יפים, it translates to the indefinite "pretty books". When using this current construct with the definite noun coming before an indefinite adjective, you are making a statement about the noun rather than describing it, as in הספרים יפים, "the books ARE pretty". Since Hebrew doesn't use the verb "to be" as we do in English you need to pay attention to the definite articles to see where to correctly place "to be" in your translation. Bottom line if the noun and adjective agree in either definiteness or indefiniteness, then the adjective describes the noun, with a definite noun before an indefinite adjective a statement is being made about the noun. Hope that helps and wasn't too confusing.
It reminded me of some jokes about people who used to get big encyclopedia collections when it was kind of "fashionable" to have bookshelves with nice looking books as decoration... someone was joking that some people go into a bookstore and they are like "I need about one square meter of some nice looking books". :D
I would quite often prefer הספר יפה to הספר טוב, talking about the content. There's a very subtle difference, that I wasn't really concious of, but if I try to articulate it to myself, it's this: saying הספר טוב implies that I think it's objectively good, while יפה implies more that I found it appealing. So the former puts me in a position of being an expert on books, and if I usually don't want to sound like one, evne if I actually think it's objectively good...
Now why do I feel that יפה is mroe subjective? I don't have an explanation to that.