There are many details to getting decent photo output from common printers. If you haven't bought a photo printer yet, see the photo-related tips in Section 5.4, “How to buy a printer”.
Ghostscript has some difficulties rendering color photographs through most drivers. The problems are several:
Many drivers have poorly tuned color support. Often the
colors don't match the Windows driver output or the screen.
OTOH, all drivers, and Ghostscript as a whole, have readily
adjustable color support; the "Gamma" settings (seeSection 10.2.2, “Gamma, dotsizes, etc.”) are one thing
to play with, and there are others documented in Ghostscript'sUse.htm
documentation file.
I'm only aware of one Ghostscript driver with support for 6 and 7 color printing; it's in beta at the moment and supports most Epson Stylus Photo models. It is rumored to produce better color than the Windows driver (!). The Ghostscript driver core itself provides no support for non CMYK or RGB colors; arguably, some work to put that there is needed.
Ghostscript often ends up dithering coarsely, or generating printouts with artifacts like banding. The dithering can usually be corrected; see Section 10.2.3, “Color Printing in Ghostscript”, and read the documentation for your driver.
You should be able to correct some of these problems by tuning Ghostscript; see Section 10, “Ghostscript.” for more information on how to do this. Fiddling with Ghostscript options is much easier if you declare them as options in your spooling system.
That said, the obvious solution for now is to use non-Ghostscript software for printing photos, and indeed, such things do exist. The main contender is the print plugin in the Gimp, which supports pixel-for-pixel printing on Epson Styluses and Postscript printers (with basic PPD support). That Epson Stylus portion of that driver is available for Ghostcript, as well, as thestp driver. Also possible to use for this purpose are the assorted external pnm-to-foo programs used to print on printers like the cheap Lexmarks; these print attempt to print pixmaps pixel-for-pixel.
The best solution, of course, is to buy a Postscript printer; such printers can usually be completely controlled from available free software, and will print to the full capability of the printer.
Color inkjets are extremely dependent on the paper for good output. The expensive glossy coated inkjet papers will allow you to produce near-photographic output, while plain uncoated paper will often produce muddy colors and fuzzy details. Non-glossy coated inkjet papers will produce results in between, and are probably best for final prints of text, as well. Stiffer glossy coated "photo" papers will produce similar output to lighter-weight glossy papers, but will feel like a regular photo.
For photo output on most color inkjets, you should use the most highly interlaced (and slowest) print mode; otherwise solid regions may have banding or weak colors. Generally with Ghostscript this is what will happen when you pick the highest resolution. With Postscript printers, you may need to add a snippet to the prologue based on the settings available in the PPD file. The Gimp's PPD support doesn't include (printer-specific) print quality settings, but I added one in an ugly way for my own use; contact me if you'd like that. If you use PDQ or CUPS, you can easily control all the printer settings you need. VA Linux'slibppd and the GPR front-end can also add these options for Postscript printers.
Color inkjet printouts usually fade after a few years, especially if exposed to lots of light and air; this is a function of the ink. Printers with ink-only consumables like the Epsons and Canons can buy archival inks, which are less prone to this problem. Newer printers often use pigment-based inks, which don't fade as much as the older dye-based ink did. No inkjet output is really particularly good for long-term archival use. Write the bits to a CD-R and store that instead.
There's a program called xwtools which supports photo printing with all the bells and whistles on an assortment of Epson, HP, and Canon printers. Unfortunately, it was written under NDA, so comes without source. Unless you use it for the Epson Stylus Color 300 on GNU/Linux x86, it costs E15 for personal use; commercial pricing is unknown.
The ESP Print Pro package from Easy Software supports some printers which might otherwise be unsupported. These drivers are not reported to be very well-tuned for photos, but they do work.