Catacombs. Doubles as a sewer when it floods
Consider medieval Venice and the fact that anything in the sub-basement of a building was effectively underwater.
Having made several city-scale D&D setups.....
I'll warn you not to create stuff just to fill space. Not unless you're a master of improvisation and good at remembering what the hell you improved about last session. Either write down important, scene-setting details for these places.....OR conjure them as necessary during gameplay. If you find yourself thinking about specific details like "what is that building on this street?" you're probably being too specific and need to pull back your view. Having a map with city streets with names is great....but you'll burn yourself out trying to make sure you have something written down for every spot in the city.
Nothing is worse than when the PCs get to a place you took the time to give a name to, and it's essentially just Generic_Inn#023 because you didn't have time to really give it a soul.
This pretty much applies everywhere. The Fighters Guild, the Mages Guild, and especially the Thieves Guild, which is probably the most stereotyped guild in any RPG because everyone expects them to always be wearing cloaks and sharpening their knives in dark rooms at midnight. Instead of having 'the Fighter's Guild'....what if it's more like one kickass veteran who has seen and done it all and provides training to new fighters, kind of in a Rocky-like scenario from a building he owns.
What if the Thieves' Guild actually operates out of a high-end brothel, and anyone who is a part of it is a cut-above your average street criminal?
Anyways, just some other things:
Districts. Whether they're historically accurate or not, I find cities much more interesting if they're recognizable along district lines. They also imply many more things that your city would have.
I.e.- The Forge District
The Merchant District
The Waterfront District
The Weaver's District
The Bad Part of Town
The Nice Part of Town
The
Super Nice Part of Town.
The Main Square (every city has a heart, a center.)
The Magic District (if you're so inclined.)
Need a jail/prison/execution yard.
Notable personalities. From the Duke to the Captain of the Guard to Timmy, the One-Legged Beggar, your city should have some important people who are known and who have some history with the town. They are often an engine of action in game, driving stuff that happens because you need a reckless hero to be saved, a snotty noble to deal with and you need people that define your setting through their personalities. That doesn't mean you need a unique personality for every NPC....but you should have a few. Especially a few that townspeople will recognize above the PCs, whether for good or bad reasons. Nothing drives me insane more as a gamer than when the PCs seem to be the default power in the world. Authorities bow to them, commoners are eager to please them and in general the PCs get treated special. Compensate for that by creating a world that doesn't revolve around the PCs. Personally, I like my D&D law enforcement to treat PCs just like any other group of sword wielding adventure seekers: they're trouble as often as not.
The weird and the odd. I never build cities without these things. Every city in my game has some sort of secret, something that was there before people really took over. It might be the basement of a house where a wizard once practiced strange inter-dimensional experiments. It might be some ancient terror that sleeps beneath the city streets, only rising once every 50 years to feed. It might be a statue in the City square that was there before the town was ever built, a relic of a forgotten time. The city might be home to a gang of professional wizard thieves who use the city's pedestrian atmosphere as cover for their hideout. Ghosts, can't ever really go wrong with ghosts. It might be abandoned house that inexplicably is full of giant spiders, who have lived for years on the street children and beggars who go looking for a warm house to sleep in. The weird and the odd should be hiding around many corners of your city, waiting to be found or stumbled upon by players, or told as local legends over ale in the tavern while they're schmoozing the local NPCs.
Meta-theme. Towns in D&D often exist outside of time. They're peaceful, untroubled places that only really start having lives once the PCs show up. Try and think of something that's affecting the whole town, for good or for ill, as this is yet another way to set the setting and create adventure. In my last city driven D&D game, there was an open portal to another dimension where these dream thieves were slipping into town at night to give people exceptionally bad nightmares. To the PCs, this manifested itself as everyone seeming off when they arrived. Everyone was agitated, some what haggard, a little crazy and irrational and everyone was afraid. This was the basis of the adventure. But it doesn't always need to be. Maybe the city is awash in foreigners and migrants, and so people don't have a lot of trust for the PCs. Maybe the harvest has been fantastic and everyone is in an abnormally good mood. Maybe the city is at war with another city and so an atmosphere of tension and martial law pervades everything. Maybe their King is mad and the city is caught up in conspiracies to commit a coup de'tate Or maybe it's just as simple and direct as having a dragon come by every month or so to burn some houses and eat some people.
Lastly, there's lot of good digital mapping software that can help you create a good map. (Always have a good map
) I suggest Autorealm, but there are plenty of others.