What do you do if there are multiple options for the city/state? What if your city happens to not be one of the options you provide? That's why we needed to add an option for the user to fill it in.
In that case the user can type it in themselves. The textfields are fully editable after all. I would expect that it is faster for user to type in the correct city if you get it wrong than for them to have to move their mouse to the keyboard and select it from a drop down list, and if it isn't in the drop down then this method is faster.