In Sanskrit, 'guru' means heavy. In Indian tradition, knowledge is considered to be heavier or important than anything else, so a person, who is more knowledgeable than you and is willing to impart his knowledge to you, is a guru for you. A guru is considered to be next to God only. In fact, God Shiv has been given the title of 'Aadiguru' which means the first guru or the guru of mankind. A guru is more than a teacher since a teacher imparts worldly knowledge only. But a guru can be a religious guru, a spiritual guru or a guru imparting worldly knowledge.

More Info: en.m.wikipedia.org