Suicidator "City Generator" (SCG)
This is a very robust Blender addon that can create amazingly detailed & complex cities:
Generate random terrains (including bodies of water) for your city, or use your own bump maps to create the landscape of your choice
SCG automatically generates all the textures for your buildings, roads, grass, water, etc.
(NOTE: Currently, SCG only generates textures in Blender Internal, not yet for Cycles)
Specify if it's day or night in your city
NOTE: As of City Generator v0.5.7, textures will ONLY be generated in Blender Render, NOT yet in Cycles. So, make sure you are in Blender Render BEFORE you click the Build City button:
You can read the City Generator online manual on their website and see many more examples.
NOTE: There is another addon listed on the Blender Wiki called "City Block Generator". However, this addon only works with Blender versions 2.4x - 2.5x, so it's not an option for any versions later than 2.5
Adding Special Building Details for Close-Up Shots
If you ever want to have a close-up shot of a particular part of your city and want to add specific building details, you can use these add-ons:
Block Wall Builder: Block Wall Builder allows you to build your own custom walls. It has a lot of functionality, including the ability to add holes in the wall for windows, doors, etc.:
Archimesh: Archimesh gives you the ability to add great detail to your buildings: add rooms, house structure (walls), doors (one and two leafs), columns, stairs (strait and curved), tile roofs, cabinets, shelves, windows, books, lamps, curtains, etc. It can also UV unwrap rooms! You can download it here and you can get more information on how to use it here. Here is a sample of the cabinets with shelves:
Add Pipe Joint: You can read about this built-in addon here and here are some sample joints:
NOTE: If you want to extrude pipes from these joints, see this question and answer for details on how to do it.
Add Snow and Icicles
If it's winter in your city, you can add piles of snow to your meshes with the technique described here and with the Icicle Generator you can add icicles:
Adding Terrain for your City
If you don't want your city to be on flat ground and aren't using Suicidator City Generator, you can make unique landscapes easily with the built-in addon ANT Landscape:
The Blender manual describes how to use this built-in addon.
NOTE: Previously, these landscapes all had the normals flipped the wrong way, which makes the underside of the mesh be considered the top. This has been fixed in an update, but if you have an older version and you're finding this is a problem for you, you can fix it simply by flipping all the normals:
- Select landscape → TAB → select all (A) → W → Flip Normals
"Sapling" is a built-in addon that allows you to make trees:
This addon is amazingly robust, capable of making a huge array of different kinds of trees and bushes:
This addon is much easier to use if you watch a tutorial about it.
For more detailed information about making trees, see this page.
Add Scattered Debris, Litter or Plants
If you want to have litter around your city, or debris & weeds in an abandoned lot, you can do that using a Hair Particle System, which you can learn how to make on this page.
The Add Rocks addon allows you to quickly add randomly generated mesh rocks, thus making it much quicker to add detail & practicality to your outdoor settings, urban or otherwise. Here you can read about & download this addon (note: the Add Rock addon is part of the bundle described in that post.) Here are some examples of the 5 rock presets:
For lots more details on making Add Rocks, see this page.
NOTE: One thing to be aware of is that each rock has many modifiers on it, and these slow down render time. See this page (at the bottom) to get details on how to solve this issue.
Blender's built-in "Ivy Gen" addon is very good at creating realistic looking ivy: