This one can be a bit tricky.
First of all, "in" can mean two things. 1. You are actually inside of something, 'I'm in the mall' for example, you are inside of a building. "I'm in the park" - you are inside the area of the park. 2. We use 'in' when we are talking about a place that is not very specific. "I'm in Mexico, I've been here for two days". Or "I'm in Mexico City, I got here yesterday". These are both very big places obviously.
If I wanted you to come and pick me up in your car and I said "I'm in Mexico City" you would have no idea where to go.
"At" we use for being a bit more specific. We wouldn't say I'm at Mexico" (or Mexico City), but we would say "I'm at the airport" or "I'm at the stadium". In this case you would know where to drive to if you wanted to pick me up.
So, if I wanted you to pick me up from the airport because I had just landed I would say "I'm in Mexico City, at the airport, I'm waiting for you outside"
or "I'm in Mexico City, I'm in the airport, at the baggage claim area". In this case I use 1. 'in' less specific 2. then I use 'in' because I am inside of a building 3. then I use 'at' because I am being more specific.
Hope this wasn't too long winded!