While we are talking about composites and content generation: http://designfestival.com/the-cicada-principle-and-why-it-matters-to-web-designers/
Prime numbers beat fractals!
While that's a decent summary of an interesting technique for creating "stupid" designs, DF is generally using far better procedural designs that are at least partly "smart". In general, prime-tiled systems are good for making repetitive, unimportant background info look slightly less repetitive; in situations where the material actually matters for gameplay, content-aware procedural generation will give vastly superior results.
The main improvement I'd like to see in the city generator is a focus around what the city is actually *there* for. Historically, the majority of early cities (DF is nominally pre-1400 IIRC) were located around a trade-related location; natural harbor, river ford, river portage, trade route crossing, mountain pass, etc. Of the ones that aren't, the majority of the remainder were organized around defensible locations (mostly hills, islands, or peninsulas). There are a very few that were located around unusually rich sources of food or mineral wealth (effectively also a trade location, as they became a source node in the network), or in dry climates sources of fresh water. Offhand I'm having difficulty coming up with any significant cities pre-1400 that didn't form around at least one of the above; the possible exception might be religious sites in the middle of nowhere, and I'm not aware of any that were cities pre-1400 that weren't also trade hubs or the like.
In other words, the city generator shouldn't generate a city and plunk a river or caravan route through it; the vast majority of cities should pick a location based on one of the above reasons, and then generate the city out from the fortress, river, etc. The generator can "cheat" a little in some cases; picking a spot along a river that it wants a city, and then putting in a ford / rapids / bridge / island as part of city generation to retroactively explain why the city ended up in that particular spot on the river. (The default DF river generation doesn't do well at generating mid-river islands, which historically were a popular choice for a citadel around which a city grew.)
Another useful city-generation trick is that, as several folks have noted, earlier inner city walls tend to get "mined" for stone for buildings or newer, outer walls; this tends to end up with a pattern of roughly ring-shaped larger roads along where the old walls were. This is why many old-world cities end up with a radial plan; the original major roads were radial from the keep / crossing (or it was placed on existing roads), and as it grew larger, circumferential main roads took the place of successive generations of walls. If you have a generator for a small city, generate that, then replace the wall with a main road and generate a medium city around that; repeat again to get a large one. In addition to some of the maps already linked, the
early map of Moscow is a pretty clear illustration of how that works out.