There is an active literature that tries to explain the size distribution of cities. It is based on a strong regularity, that the distribution follows a Zipf law (population rank times population is constant). Models try to explain this fact with rather simple structures and then back out what assumptions are needed to obtain the Zipf law, with little regard whether these assumptions make much sense. This is not how someone usually proceeds. While you indeed want to explain a fact, you use believable assumptions and then draw a theory and check whether it can replicate the fact. Also, you not want to have a model with many degrees of freedom to explain a single fact, you want to check on many aspects from the data.
Marcus Berliant and Hiroki Watanabe share this concern. They point out that the current theories assume that households cannot insure against city-level shocks, which are at the heart of the models. This is important, because insurance and moving can be considered substitutes. If some insurance is available for example through self-insurance, then there is little reason to move, especially given the empirically large costs of doing so, and all that matters are the initial conditions. In order to obtain more sensible results, Berliant and Watanabe assume that city-specific shocks leads to a winner-takes-all outcome: the best city gets to produce everything within a sector. Then insuring is inferior to moving, as the first yields only a partial wage while the latter a full wage. The availability of partial insurance does not change this. In some sense, the presence of insurance does not matter in this model, while it matters in others. But this relies on the extreme risk that is assumed. Have we progressed? I am not sure.