ORIGINAL: s3nfo
If you're ganging multiple servos on a single control surface a programmer is a useful, but not necessary tool.
If you're using digitals on a simple (non-computer) radio (who does that?), a programmer can give you the benefits of EPA, centering, etc that you get from a computer radio without having to buy a new transmitter.
Otherwise a programmer is just an expensive tool to tweak servos rather than doing the mechanical adjustment (in other words, tool for lazy people).
You obviously have not used a programmer, Going thru all the steps needed to perfectly match centering and end points is a time consuming task if I wanted to do it faster and easier I would simply adjust mechanical linkages, the problem with that is no matter how well I tried to match them there would still be some binding through out the entire travel range of the servo which in turn causes quicker power drain. by using the programer and good linkage geometry I can have multiple servo surfaces with total linear geometry resulting in more flight times between charging and less servo wear. Go to the down on the deck web site and download videos on using the programer and correctly setting up proper linkage geometry for more info