Если, критикуя, собеседник не позволяет себе личных замечаний, не только указывает на ошибки, но и предлагает варианты поведения, которыми реально при желании воспользоваться - то да, такая критика может научить. И, разумеется, многое зависит от формы: если она некорректная, то внутреннее сопротивление человека, которого критикуют, может помешать ему воспринять даже толковые идеи. Тогда никакого научения не выйдет.
Что до случаев, когда критика не несет вообще никакого конструктива, т.е., по сути, является набором поучений / оскорблений, то о них в контексте научения чему-либо, на мой взгляд, серьезно говорить не стоит. Единственное, пожалуй, чему здесь может научиться человек - это защищать свои границы.
А похвала - она ведь вообще не учит. Она мотивирует, работает как "топливо" для того, чтобы человек учился, менялся, развивался. И подкрепляет правильное поведение.
Хвалить надо, критикуя, а критиковать, хваля.
Смотря на характер человека , на некоторых людей похвала и доброе слово помогает . Но лучше сразу указать , на ошибки человека , чтобы он исправил своё поведение .
Мне нравится афоризм Джона Дьюи: "Мы учимся не на опыте, а размышляя о своём опыте".
Так что учит по-моему не похвала и не критика, а саморефлексия. Которая может быть принимать во внимание и похвалу и критику или по любым причинам, не принимать ни то ни другое.