Google Maps is great. It's all fancy schmancy, and has it's own API, and all of that pretty stuff. There are a couple of problems though, you can't get a super high resolution map, and they don't work so well if you want to plot tens of thousands of points (things get kinda slow). In short, it works pretty good for country level mapping and smaller, but if you want to map stuff on a global level, you might need something else. I start looking around and find.....
GMT, a cool collection of command line tools for making maps and graphs. This is a great example of the unix philosophy: make small programs that do one thing well, and then string them together with standard input and output. GMT has a collection of tools that emit postscript. You run them in succession, appending the output to a postscript file. When you are done, you have a postscript file that you can print or render out to your favorite rasterized format.
GMT is definitly not for wimps, you need to be able to write shell scripts to really do anything useful, and you need data to plot, or you don't have anything useful. But for unix guys like me, and for the type of problem that GMT solves, it is a perfect solution.
I will be using Python to pull data out of a database and push it into GMT to make some cool dot plots. I'll have to post one when I get it working.