The three packages are actually three different plotting concepts. The standard plotting device goes fast if you know what you're doing, and is -in my eyes- rather intuitive in the sense that all commands deal with particular elements of a graph (plot, title, axis, labels, legend, ...). These graphs are pretty flexible in layout, and I find them useful for most of the standard statistical plotting and fairly straight-forward 2D graphs.
Lattice is a grid-based plotting device, and allows a lot more flexibility. You can basically plot anything you want, as shown on the R Graph Gallery. Graphs can also be annotated. Lattice is -again, in my eyes- very useful for customizable high-end graphs. I use it mainly when I'm making color maps, 3D-visualizations and combined graphs of different subsets of my data (e.g. in model building, for the effects of the different terms.). See also Using lattice graphics in R.
ggplot2 is actually an attempt to combine the good of both systems : you keep most of the flexibility of lattice, but you work on easily defined graph objects as you do with the standard plotting. The graphical output is in general better looking than the standard settings in the standard package, and with less hassle than with lattice. Personally, I have only little experience with ggplot2, but it looks definitely promising. I still prefer the base graph package, but that has probably more to do with the fact that I'm used to that one. Old monkeys and new tricks and all that...
Basically, I'd say to go with what you feel most comfortable with. I'd definitely learn at least the basics of the standard package, but from there I guess ggplot2 gives you everything you need if you're not going into high-profile graphics. If you really want to make customized complex graphs, getting to know lattice can only help you. But otherwise, the other two provide everything you need, and are fairly straight in use.