Отличие довольно существенное. "Означать" - это иметь значение, иметь смысл. Своего рода описание ситуации или нектороых условий, имз которых можно сделать определённые выводы. "Ненулевое значение переменной Х означает, что на неё можно делить". "Близость путей сообщения означает, что тут можно развивать промылленность". "Обозначать" - это присваивать обоначение, символ, идентификатор. "Этот знак обозначает пешеходный переход", "переменная Х обозначает любое вещественное число".
Отличия очень не значительны. В большинстве случаев значения этих слов совпадают: Это слово означает.. . = Это слово обозначает.. . Разница просматривается в профессиональных сферах. Скажем, в спортивной среде есть термин "обозначать удар", сказать "означать удар" нельзя, и т. д. В общем, это очень близкие синонимы, но не абсолютные (некоторые лингвисты полагают, что абсолютных синонимов вообще не существует).
Переход дороги обозначен "зеброй". "Зебра" означает разрешение перехода дороги. Если увидишь знак "зебра", то это означает, что здесь можно переходить дорогу: назначение знака "зебра" - указывать на место перехода. Треугольник Фреге: обозначать - это присваивать знак (придавать форму, находить подходящий термин); означать - это присваивать значение (придавать понятийное содержание). Постоянно путает слова означать и обозначать теле- и радиоведущий Владимир Соловьёв.