When a politician moves with the times and decides to change his ways/thoughts, and acts according to constraints set by forces outside his control, you accuse him of being a flip-flopper.
When a politician stands to his position and defends it come what may, you accuse him of being an idealist, out of touch, hard-headed or Bush (depending on your party affiliation).
What will ever satisfy you people? You would have went after some of the greatest men who ever lived: Were you living in Jefferson’s time, he would have been the flip-flopper for Louisiana purchase. You would have accused Lincoln for being a flip-flopper OR an idealist depending on which period of his time you decided to judge him.
Same goes for Franklin, Madison, FDR and many others.
Both Obama and McCain have demonstrated that they are street-smart and have enough common sense to solicit support from constituencies that are generally known to oppose them.