Comes from the Sanskrit "des" or "desh" meaning "country." In South Asia, it is used to refer to something that is done the Indian way -- it can mean "traditional" or, in a pejorative way, "rustic." South Asians abroad use it to refer to anything South Asian, i.e. Indian, Pakistan, Bangladesh, etc.
Indian-American: I met a couple of desi guys last night.
Indian in India: You want air conditioning so bad? Have it the desi way -- fan yourself with this paper.