Basically, when Gazebo loads the world, it first loads the <world> tag and then applies the state changes described in <state>. When you reset the world, it goes back to before the states, so the world looks different from when you first loaded it.