One of my friends was digging her film EOS camera out of storage after shooting digital and she wanted to understand what it was doing, so she asked me what happens when you tell her camera to ignore the DX coding on the back and set things manually.
The basic sensitivity of a film is determined entirely at manufacture. A 400 ISO film is inherently different from a 200 ISO film. There's a document put out the International Standards Organization that goes into painful detail about exactly how you determine a film's speed. Depending on developing, you can sometimes gain or lose a little bit of speed and maybe dynamic range, but most of that is an illusion.
I've put an example chart of a film response curve (loosely based on Kodak's T-Max 100) to the right. Density is how dark the film is, wheras exposure is how much light there is.
Basically, the way it works is that when you develop to a standard contrast, you will get a certain amount of shadow detail with negative film. This part is represented by the "toe" on the chart. The details on slide film aren't as clearly said, but they work roughly analogously to print film to ensure that you have a certain contrast range.
We'll cover contrast a little more later. First, what happens when you just change the film speed on your camera?
If you manually change the ISO so that a 400 speed film is shot as a 200 speed film, you will overexpose it by one stop. With print film, you'd never notice much of a difference. With slide film, it'll be all washed out and nasty.
Same thing the other way. If you manually change a 200 speed film to 400, you will underexpose it by one stop. This barely works for print film and doesn't work too well with slide film.
You can generally underexpose print film by 1 stop or overexpose it by 2 stops and not get horribly ugly results. You can generally be no more than a half stop off with slide films.
Now, all color films are designed to develop in exactly the same time. Any given C-41 film sits in the developer for 3:15. What happens if we let it sit in the developer for longer, say another 30 seconds? Well, the chemicals are going to have more time with the film, so you'll need less light to get the same exposure.... more or less. If you put it in for 30 seconds, you can underexpose a stop (so, shoot a 200 speed film as 400) and it'll come out more or less alright. We call this "pushing" film. Black and white films don't have a standard time across all films, but they mostly work the same sort of way.
I've included three different developing times of the same film to the left.
However, remember what I said above? The sensitivity of a film is determined at manufacture? This means that you aren't getting something for nothing. You lose shadow detail -- see how the toe covers about the same area, no matter how much you push -- and gain grain. So pushing film comes at a cost. Also, color film has three layers for the three primary colors. If you push, they don't react exactly the same way, so your colors will get progressively more funky.
The biggest reason why pushing comes in handy is... well... say you walk down the street and you realize that the President and the Vice President are busy enhancing international relations with the Queen of England. If you sell these pictures to the tabloids, you will probably make enough money that you won't have to ever work again. But all you have in your camera bag is 400 speed film. You check the lights and decide that you really need 1600 or 3200 speed film. But, really, if you can see the faces, you really don't care about how much shadow detail or how nasty the colors go. You can usually push 2-3 stops without totally losing the image. Kodak says that they've pushed to 100,000 in various special circumstances.
Kodak tends to argue that if you've underexposed by 1 stop, it's generally better to just develop it normally. Especially for color films, they are right, because that one stop is usually not printed when you use normal contrast papers.
Now, this is a change that applies to the whole roll. They can't push just a piece of the roll. So if you realize that you've set the ISO incorrectly, you should probably stick with it for the rest of the roll... unless you want to sacrifice what you've already taken. Most of the "minilab" machines are set up so that the film is moved through the chemicals through a series of rollers. So they generally cannot push, even if you ask them to.
You can also "pull" film, which means you put it in the developer for less time. This reduces grain somewhat and decreases contrast.
In the olden days, there was a single grade of paper that gave you 5-6 stops of tonal range. If you wanted more range, you could "pull" your film. Remember, the sensitivity of your film won't change, so it's still only recording maybe 10-12 stops of light, but this way you could print to standard paper and fit more stops of light on the same page.
These days, black and white paper is available in contrast grades, so if there's 10 stops of light, you can usually just change paper grades instead of messing with pulling your developing.
Color film will have color shifts, just like with pushing color film. So, instead, pro slide film and pro print film are available in different levels of contrast. Remember, the sensitivity of a film is determined at manufacture, so you aren't going to suddenly get an expanded dynamic range if you pull normally contrasty slide film.
When you put the film on a scanner, you can always read the entire contrast range of the film, so you won't benefit very much from pulling. Also, while I did point out that it reduces the grain somewhat, you'll generally find that a 100 film will be finer grained than a 200 speed film pulled to 100 speed.
In the olden days when cameras didn't have nearly as many buttons and knobs, folks would change the film speed to handle certain lighting conditions. Like if you wanted your snow to be all white instead of mid-gray, you'd overexpose by changing the film speed. Or if you wanted to make sure that the person in front of you wasn't just a silhouette, you'd underexpose by changing the film speed. Nowadays, most cameras have EV compensation knobs to handle that kind of situation if you are in it, plus matrix metering so that you won't have to use the EV compensation knob.
So why is the option available for you to manually change the film speed? Well, sometimes you have film that either doesn't work with the ISO standard, like IR film, or you have film that you've loaded into canisters from bulk rolls.
Some folks disagree with the ISO standard for film speed and prefer the results that are achieved by overexposing or underexposing by a 1/3 stop or so (so, shooting 400 speed film at 320 or 250 or 500 or 640 instead of 400). You can always try it out and see. If you are one of these people, you will set the ISO speed manually and then adjust the EV compensation knob when necessary.
Now, I want to return to a point earlier, because I've seen a lot of misunderstandings here. Notice that I said that you can be off by a stop or so with no problems and that all C-41 films sit in the developer for 3:15? Because of this, a good percentage of the machines out there take advantage of this design and can't keep the film in the developer for any time other than 3:15. Sometimes people think that there's some kind of intelligence in the developing machine, that it actually reads the DX codes on the film canister and they can "trick" the machine into pushing or pulling. Because you can be off by a stop or two, people will try it and think that it works. If you underexpose and correct for it while printing, it will get grainy and lack shadow detail, kinda like if you had pushed the film. Other folks don't know any place that has a dip-and-dunk machine set up for C-41 color print film, so they think you can't push or pull C-41 films at all.
This is a two part series that I wrote because one of my friends asked a question and I realized that the answer was really really long. I also realized that people were asking the same sort of question over and over and over again in various online forums, so I might as well try and write up a good universal answer.