А почему они вообще меняются?
По разным причинам. Лексика сегодняшего русского языка довольно сильно отличается от того, что было, например, сто лет назад. Причинами могут быть какие-то грамматические изменения, происходящих с языком, заимствования, какие-то внешние обстоятельства жизни... Не знаю, я не специалист. Объяснить трансформацию пожарного и лекаря я вряд ли могу. Насчет цирюльника могу высказать одно предположение. Возможно, раньше парикмахерами называли специалистов по стрижке и украдке волос высшего класса, в отличие от цирюльников, ориентированных на массовые услуги. Но всякому же хочется называться специалистом высшего класса, поэтому из престижных соображений это название постепенно распространилось на всю профессию. Хотя, возможно, я и ошибаюсь.