Основная причина появления сосулек в городе - отопление чердачных помещений. Так же виноват перепад температуры (особенно дневной-ночной режим) при котором внутренние помещения оказываются теплее внешней оболочки крыши. Вода подтаивает, стекает ниже, где вновь замерзает за счёт холодной минусовой атмосферы.
Правильная организация чердачных перекрытий, например, когда создаётся воздушная прослойка между чердаком и крышей, позволяет избежать обледенения и, соответственно, образования сосулек.
Так же, отсутствие выступающих частей крыши, помогает избежать сосулек. Естественно, города строились без учёта каких-то там сосулек. Зачастую чуть ли не весь фасад дома был покрыт выступами и лепнинами, за которую ухватывались корни сосулек, мгновенно вырастая.