Не переживайте, даже русскоязычные часто путают эти глаголы. В целом вы всё верно понимаете, но я бы посоветовала вам запомнить это следующим образом:
1) В контексте завершения обучения в учебном заведении - всегда Оканчивать / Окончить (школу, университет, курсы).
2) Во всех остальных контекстах - ЗАканчивать / ЗАкончить.
Насчет "кончать / кончить" - да, действительно, как и говорит Наташа, эти глаголы людьми молодого и среднего возраста в настоящее время используются чаще всего именно в сексуальном контексте. Тем не менее, некоторые люди старшего возраста спокойно могут употреблять эти глаголы как синонимичные глаголам "оканчивать" и "заканчивать". Более того, в некоторых фразах "кончать" звучит даже более естественно. Например, если мы в школе разговаривали на уроке (конечно же, не по делу), нам могли сказать: "Кончайте болтать!". Тут никакого криминала :)
Тем не менее, использовать не рекомендую, особенно в компании людей со специфическим чувством юмора. Просто помните, что услышать эти слова в обычном контексте вы всё же можете.
Что касается возвратных глаголов.... Вы можете, например, сказать:
"У нас закончилось молоко" ("We ran out of milk"),
или, скажем, есть такая фраза:
"Всё хорошее имеет свойство заканчиваться" ("All the good things come to an end").
В этих примерах действие направлено на субъект ("молоко", "всё хорошее"). К слову, "кончается" (возвратный глагол) употребляется довольно часто (Александра приводит хорошие примеры).