The answers might have been conflicting because "учить" has all the meanings that you mentioned. I'll try to explain the usage based on intended English meaning: "to teach", "to learn" or "to study".
To teach -> учить
Meaning: To transfer knowledge and skills; to teach, instruct, give lessons; to educate, bring up
Perfective: научить, обучить
Related Russian words: обучать, преподавать, давать уроки
(a) учить + Accusative = to teach somebody (e.g. учить детей)
(b) учить + Dative = to teach something (e.g. учить русскому)
(c) учить + Infinitive = to teach [how] to do (e.g. учить читать)
(d) combination of (a)(b) or (a)(c) (e.g. учить детей русскому; учить детей читать)
Я буду учить вас русскому языку. (Acc. + Dat.)= I'll be teaching you the Russian language.
Меня учат лучшие преподаватели. (Acc.) = I'm being taught/educated by the best teachers.
Чему учит эта пословица? (Dat.) = What's the moral of this proverb? (lit: What does this proverb teach?)
Отец учил меня фотографировать.(Acc. + Inf.) = My father taught me how to photograph.
Кто вас учил водить? (Acc. + Inf.) = Who taught you [how] to drive?
С какого возраста нужно учить детей читать? (Acc. + Inf.) = Since what age should one teach childrent to read?
Не учите меня жить! (Acc. + Inf.) = Don't teach me [how] to live!
Бабушка учила меня, что... (Accusative) = My grandmother taught me that...
Она сама учила своих детей. = She was educating her children by herself.
To learn/study -> учить
Meaning: To memorize or assimilate by repetition.
Perfective: выучить
Related Russian words: изучить, учиться, выучиться, научиться, штудировать (to study thoroughly), зубрить (to cram)
(a) учить + Accusative = to learn something (e.g. учить историю)
Я учу русский язык. — I study Russian.
Я хочу выучить русский язык за пять лет. — I want to master the Russian language in five years.
Он не хочет учить математику. — He doesn't want to study math.
Ты выучил таблицу умножения? — Have you memorized the multiplication table?
Они учили наизусть стихи Пушкина. — They memorized Pushkin's poems by heart.
учить наизусть — to learn by heart
To learn/study -> учиться
This is a reflexive form of "учить"
Meaning: To gain new knowledge, skills and experience.
(a) учиться + Dative - to learn, study
Я учусь играть на гитаре. - I'm learning to play guitar.
Я учусь русскому языку. — I'm learning/studying Russian. (less common but possible version)
Дети учатся на ошибках. - Children learn from their mistakes.
Он учится в МГУ. - He's studying at MSU (Moscow State University).
To learn/study -> изучать
Meaning 1: To learn or master something during the process of study.
Meaning 2: To study by the means of a scientific research
Meaning 3: To study carefully; to explore; to come to know inside out English translations: to study, master; to explore, make a careful study of smth.
(a) изучать + Dative - to learn, study, master something
Я изучаю русский язык. - I'm learning the Russian language. (also: studying, mastering)
Историк изучает древнюю рукопись. - A historian is studying an ancient manuscript.
Пожалуйста, внимательно изучите все факты. - Please, make a close study of all the facts.
Я хочу изучить все возможности. — I want to explore all the possibilities.
Мы стали изучать, в чём дело. - We started exploring what was going on.
To teach -> преподавать
Basically, it means "to give lessons, to instruct, lecture; to be a teacher"
(a) преподавать + Accusative - to teach, lecture
(b) преподавать (used on its own in the sense of "to be a teacher/lecturer")
Я преподаю русский язык. (Accusative) - I'm a teacher of Russian. (lit: I teach Russian language.)
Я преподаю в университете. (no supplement) - I lecture at a university.