Your Spanish teacher helpfully taught you that vecino means neighbor — and it does. However, vecino is also the usual word for someone who lives in your building, a fellow resident. Acabo de ver al vecino del once en el pasillo. I just saw the guy from 11 in the hall.
In a group housing situation, vecino could also refer to a roommate, although the English word roomie is more likely if there is friendship. Note that although it is unusual for Mexicans to live alone or with roommates, it is not unheard of.
Colonia refers to an officially designated neighborhood and its residents could be formally called colonos. Zona describes a more general area or part of town. Barrio does mean neighborhood as well, but know that the word is sometimes associated with sketchy parts of town. The word feo is often used to describe an area not as visually ugly but rather as dangerous. Una colonia fea, a dangerous neighborhood.
Vecindario is another general term for neighborhood. However, una vecindad is an older style of low-income housing complex where each unit faces a narrow shared courtyard. Here is a mnemonic trick to keep them straight: vecindario and barrio, both roughly meaning neighborhood, have the same ending: -io.