Теория:

Важно отличать слова категории состояния от слов других частей речи.
 
Имена существительные
Слова категории состояния
Зависть — тяжкий грех
— Как вас здесь кормят?
— Отлично, грех жаловаться!
Общее значение — предметностьОбщее значение — состояние или оценка состояния
Изменяются.

Нужно избегать этого греха  
Не изменяются
Могут быть разными членами предложения.

Зависть — тяжкий грех.
Нужно избегать этого греха   
Роль в предложении — сказуемое в односоставном безличном предложении.

Отлично, грех жаловаться!  
 
Краткие имена прилагательные
среднего рода
Слова категории состояния
Выступление этого докладчика скучноНа конференции мне скучно
Общее значение — признак предметаОбщее значение — состояние или оценка состояния
Изменяются.

Лекция скучна, доклад скучен
Не изменяются
В предложении обозначают признак подлежащего.

Выступление
этого докладчика скучно
 
Употребляются только в безличных предложениях.

На конференции мне скучно  
 
Наречия
Слова категории состояния
Сегодня я проснулся рано Рано сдаваться, ещё не всё потеряно
Общее значение — признак действия или признак признака Общее значение — состояние или оценка состояния
Примыкают к глаголу

(проснулся (Когда?) рано)   
Подчиняют глагол (инфинитив)

(рано (Что делать?) сдаваться)  
Не могут управлять дополнением в дательном падежеМогут управлять дополнением в дательном падеже. 

Рано сдаваться (Кому?) нам
Нет категории времениМогут иметь категорию времени (выражается с помощью слов-связок «быть», «стать» и др.).  

Было рано сдаваться  
В предложении выступают в роли обстоятельства.

Сегодня я проснулся рано  
Роль в предложении — сказуемое в односоставном безличном предложении.

Рано сдаваться, ещё не всё потеряно  
 
Если в предложении встречается слово на -о в сочетании с инфинитивом, то может быть трудно определить тип такого предложения.
 
Двусоставное предложение
Односоставное безличное предложение
Бегать — полезноМне было тяжело бежать
Слово на -о — краткая форма имени прилагательного среднего рода Слово на -окатегория состояния
Возможна синонимичная замена обоих главных членов предложения:

бег полезен; бегать — полезное занятие  
Такая замена невозможна
Дополнение в дательном падеже поставить невозможно или легко опускается:

бегать (мне/нам/людям) полезно  
Дополнение в дательном падеже обозначает субъект состояния.

Мне было тяжело бежать (если убрать дополнение, будет частично потерян смысл)  
Инфинитив — подлежащее.

Бегать — полезно  
Инфинитив примыкает к слову категории состояния*. 

Мне было тяжело бежать 
 
* Некоторые лингвисты считают, что в этом случае инфинитив становится частью сказуемого.