По смыслу глаголы достаточно близки, поскольку в любом случае указывают на признание чего-либо без однозначных на то оснований. Разница, прежде всего, в степени:
"вера" все-таки означает более высокую степень признания - "я верю, что это случится", то есть я практически уверен в этом (хотя я и не могу сказать "я знаю")
"надежда" - несколько меньшая степень признания: "я надеюсь, что это случится" - значит, я не уверен, но мне бы очень этого хотелось.
То есть "вера" выражает некоторую уверенность, признание истинности, а надежда - это скорее эмоциональное, личностное отношение к чему-либо. При этом вполне можно сказать, например: "я верю, что существуют инопланетяне, но надеюсь, что это не так". То есть, у меня есть уверенность в данном факте, но мне самому хотелось бы ошибиться в этом вопросе.