The glib answer for why tornadoes don't strike urban areas that often is: Cities are small.
If you take a look at Google Maps and see what percentage of the U.S. urban and suburban areas cover, it's a pretty small fraction. The regions where you have peak tornado frequencies-from Texas up through Kansas, and even east toward Atlanta and the Southeast-are open country, so that's where most tornadoes spend the overwhelming fraction of their lifetimes.
It's very rare that one encounters a city, as happened in Atlanta in March of 2008. In 1999 there was a tornado that hit Oklahoma City and killed about 40 people. It was a long-track tornado that lasted about an hour-but most of its lifetime was spent over pretty open country. It crossed two subdivisions, and that's where most of the fatalities happened.
The Atlanta twister has not been characterized as a violent tornado. Tornadoes are rated using the Enhanced Fujita (EF) Scale, which scores the damage caused by a particular twister on a scale from 0 to 5. Violent tornadoes are classified as EF4 and EF5, significant ones EF2 and EF3. EF5 damage is typically quite catastrophic: Houses are not only just destroyed but destroyed down to their foundation-no walls left standing--and the tornado might cause structural damage to larger, well-engineered buildings that are designed to survive even very intense winds. The tornado that went through Atlanta, although it broke lots of windows, didn't cause major damage to any downtown buildings. I believe that tornado has been rated an EF2.