All of the above, and perhaps more.
Most (all?) of the better cameras have some form of "matrix" metering.
They meter more than one part of the scene for each shot. If you tell it
you are shooting "snow" then it knows the foreground is white and bright.
If you are shooting "surf" then it knows the foreground is probably beige
or off white, and bright. If you're shooting food, you probably own a
restaraunt, and you are probably indoors under incandescent light, and
you probably want over saturated colors.
Basically what happens is some guy (guys?) at the camera company think
about various conditions that average users might be shooting in, and
then they decide how to make all the settings the camera has available,
and maybe some it doesn't (to the user).
If you know a lot about photography, and if you have time, then choosing
all the settings for yourself will probably always be better than or the
same as the choices some guy in Japan made for you. But then again, if
the scene of a lifetime is unfolding in front of you, you might get the
shot if you simply choose a mode, and miss the shot entirely if you try
to work out all the settings.
In other words, if you learn what they do, program modes can be a useful
tool, just like manual mode or aperature priority mode.
Bob
--
Delete the inverse SPAM to reply
Flambe'?