1 Answer
1

The idea is to ensure that all the content is displayed properly. Some functions are not available outside of The Loop, as it's called, so depending on what you are doing, it may be advantageous to start the loop, even if you're relatively certain it will only be used for one post object.

have_posts() just returns true or false, the_post() is what sets up the data.
–
MiloJan 11 '12 at 19:14

I'm aware of that, what I was trying to say, and I suppose I did a poor job of it, was that it can potentially catch errors and help for things to run more smoothly given atypical conditions.
–
mor7iferJan 11 '12 at 19:23

+1 Milo, though have_posts() will 'close' the loop (loop_end) on the final iteration.
–
TheDeadMedicJan 11 '12 at 19:25