I frequently need to adorn my plots with additional text. Doing this with geom_text is not always optimal: either you get overplotting (because identical text is redrawn for each data point) or you need to create a temporary data.frame. 

Strangely, the alternative annotate(geom="text") is little known, it's not (yet) in Hadley's book. But it can be found here

http://docs.ggplot2.org/current/index.html

which seems to be new version of the ggplot2 manual (the title says 0.9.2.1, which is currently current). Maybe it will stay current, as the URL suggests.

Using an annotation layer with annotate(geom="text", …) allows many nice tweaks: vectors for the x/y positions, adding "\n” in the label to insert line breaks, "hjust" and "vjust" for justification. Possibly more there, the justifiers for instance are not mentioned.

http://docs.ggplot2.org/current/index.html