With these things it's always an issue of scale. What people don't realize about e.g. homesteading is that it's actually really easy to be entirely self sufficient on very small plots of land. But the tricky thing in the past was transport - when you start shoving many thousands of people into very small areas, you need to start producing more and more food in (relatively) smaller and smaller areas.
Modern times has alleviated this constraint because of mass transport. Now moving tons of cargo hundreds of miles, or even half way around the world, is trivial and relatively rapid, but in ancient times you're looking at moving small amounts of cargo extremely slowly, all under the time pressure of spoilage/infestation. The way places like Rome solved this, or at least alleviated it, was by using river transport but then you're imposing some significant technological, infrastructural, and geographical requirements on settlements.
And then you also need to deal with bad harvests, war, and other such issues. In decentralized systems where most are doing their own thing, this isn't such a big deal. But in a heavily centralized system where potentially millions of people are dependent upon deliveries, a single disrupted harvest could spell the end of a civilization if not properly prepared for. And ancient beliefs that things like human sacrifice could ensure rain were likely in opposition to the rational necessity for preparation of inevitable failures.
---
As a related topic, this is also why war is considered a game of logistics. Think about feeding and providing the other necessities for 10,000 people for just one day. Now imagine doing this for weeks, months, and years - when all those necessities need to come through areas that are potentially being attacked. The fact that war with armies of hundreds of thousands is even possible is quite amazing when you think about the logistics involved just to survive, let alone actually engage in combat.