Во время написания имени прилагательного "не(?)плохой" мы должны ориентироваться на синтаксическую ситуацию, то есть на те условия в предложении, в котором находится данное слово. Слитное и раздельное написание в разных случаях станет корректным.
Допустим, в предложении со словом "не(?)плохой" имеется противопоставление (например, не плохой, а хороший; если не плохой, то достойный), несомненное отрицание (например, вовсе не плохой) или вопрос (например, разве не плохой?, не плохой ли?). Мы понимаем, что в высказывании, по сути, употребляется слово "плохой", а частица "не", которая пишется раздельно, отрицает этот признак.
Если высказывание с прилагательным "неплохой" уже описанных условий в себе не содержит, то слово "неплохой" можно заменить на один из его синонимов. Это могут быть такие слова как: хороший, достойный, заметный, значительный. Подобный приём говорит о написании слитно, то есть в предложении признак "неплохой" утверждается.
Примеры предложений:
Костя был неплохим студентом, не пропускающим лекций.
Сыр оказался не плохим, а довольно вкусным.
Далеко неплохим собеседником был мой сосед по купе.