It stands for emotion. It's basically a reference to bands and fans of said bands which play 'emotional' songs. Usually sad ones.
Now it is just a derogatory name which means that someone is really lame or sad.
Emo is stupid to begin with because every song has some emotion involved in it. Everyone who uses Emo outside of joke context is either an elitest snob or a stupid 14 year old who thinks no one understands them and that they are the only one in the world who feels like committing suicide. Stupid teenagers...
If you see someone like this, punch them in the face. Now they have something to cry about.

Have a nice day!