Mexico City is great- I have lived there 2x, for a year, and for 5 months, and visited my friends
there several times.
Yes, there is a LOT of crime. You must speak decent Spanish to spend more than a few days, although people
are very friendly and will try to speak English to help you (however badly). At night, only
go to where you've been told it's ok, otherwise stay in. Use radio taxis called by the hotel, restaurant, etc., although
the bus is extremely cheap, as is the metro once you figure out the system (cost me like 20 cents 3 years ago).
At the airport they will give you a special voucher/ticket to give to the taxi driver (you buy it at a stand), otherwise he will rip you
off (overcharge) or drop you off for his friends to rob, hehe (the voucher ticket is used to track you and prevent
overcharging, only registered taxis can accept them- non-registered taxis can rob you, leave you in the middle of nowhere.).
The food is great, I live in SD, and there is NO Mexican food here- just norteno/tex mex/cali stuff, not too bad,
but next to nothing compared to real Mexican food.
Make sure to go to Chapultepec, the Pyramids, Bellas Artes, the Zocalo, etc.
If you are an American, just show your passport at the airport to get a 15 day visa- if you ask quickly and nicely before
they fill in the box, they will give you from 30-90 days, sometimes even 180.