Теория:

Различают лексические и грамматические омонимы.
Лексические омонимы — это слова одной и той же части речи, совпадающие по звучанию и написанию, но различающиеся по значению.
Пример:
ключ — инструмент, открывающий или закрывающий замок, ключ — родник; оба слова являются существительными;
мешать — перемешивать, мешать — быть помехой; оба слова являются глаголами.
Грамматические омонимы — это слова одной и той же или разных частей речи, совпадающие в той или иной грамматической форме, но различающиеся по значению.
Рассмотрим более подробно явление грамматической омонимии на примере слова как.

Как вы добрались? В этом примере как является наречием (в значении «каким образом»).
 
К нему можно задать вопрос. Как?
Вместо него можно подставить другое наречие. Хорошо вы добрались?
Здесь оно играет роль обстоятельства.

Я как подпрыгнул! В этом примере как — частица, которая употребляется для выражения внезапности действия, она не является членом предложения.

Он услышал, как кто-то вошёл в комнату. В этом примере как — это союз.
 
Слово соединяет части сложного предложения.
Его можно опустить. Он услышал: кто-то вошёл в комнату.
Здесь как не является членом предложения.
 
Причины возникновения грамматических омонимов
  • Случайное совпадение грамматических форм:
речная гладь (существительное И. п. ед. ч.) — гладь (глагол повелительного наклонения) платье;
кран дал течь (существительное В. п. ед. ч.) — воде некуда течь (неопределённая форма глагола);
лечу людей (глагол, начальная форма: лечить) — лечу на самолёте (глагол, начальная форма: летать). 
  • Переход одной части речи в другую:
взять кофейную (прилагательное) чашкузайти в кофейную (существительное) — именное прилагательное перешло в имя существительное;
мороженое (отглагольное прилагательное) мясовкусное мороженое (существительное) — отглагольное прилагательное перешло в имя существительное;
трудящиеся (причастие) людивсе трудящиеся (существительное) — причастие перешло в имя существительное.
 
Обрати внимание!
Некоторые омонимичные слова звучат одинаково, а пишутся по-разному:
на встречу (сочетание предлога на и существительного встречу) — навстречу (предлог);
то же (сочетания местоимения то и частицы же) — тоже (союз).
Важно научиться определять принадлежность таких слов к той или иной части речи, чтобы грамотно писать.