Leave it to the web to find a hack around the poor image quality for iPhoto books. After some initial research on various web sites, I now know why the image quality is so lacking in the printed books.
The PDF file that Apple uses to display a preview of the book before you submit the order is of much higher quality (720 DPI) than the file that is sent to Apple for printing (150 DPI) - very misleading. You preview a high quality PDF, approve it for printing, then Apple turns around and generates a much lower quality PDF which is actually used for printing. Thank you very much.
If you open up the preferences file for iPhoto (~/Library/Preferences/com.apple.iPhoto.plist), you will find 3 settings called:
The default values are 150, 150 and 300 respectively, and they are used for the three different book sizes that can be ordered from iPhoto.
Note: iPhoto 5.01 or below only has the BookTargetImageDPI entry.
If you have iPhoto 5.02 or above, the plist file is in binary format - you can use Pref Setter to change these values. iPhoto 5.01 or below uses text format, so any text editor will do.
Changing the value to 300 forces iPhoto to use 300 DPIs for you photo books. Next time you order an iPhoto book, the pictures will look as you would expect them to look.
I wish Apple would have made these settings exposed via iPhoto -- but I presume everyone would set them for 300 DPI and leave it at that :-) Why does Apple think that we want to spend $50 on a book and have it look like it was printed on an Apple Imagewriter?