As wildflower has stated, it is short for Emotional. Much like the term ‘indie,’ the meaning and usage has seen some transformation over the last couple decades. It used to describe a type of music, that of more ‘emotional’- sounding hardcore, or hardcore punk music that was a bit more melodic, with whinier vocals.
Back in the day people were more likely to use the word in the context of describing a band or the band’s sound. On other occasions I remember hearing the term applied derisively, as in, “quit being so emo, etc.
Today it seems to have evolved into a sort of mainstream image, complete with it’s own dress code and code of mopey behavior.