Слова
надеяться и
уповать имеют общий компонент значения, это безусловно.
Оба слова означают: "иметь надежду, рассчитывать на что-либо или кого-либо, полагаться на что-либо или кого либо". Такое толкование предлагается, к примеру, в "Словаре русского языка в четырех томах" АН СССР под ред. А.П.Евгеньева (любое издание). Вместе с тем в словаре у слова
уповать имеются пометы:
устар. и
высок., а при толковании значения отмечено: "
Твердо надеяться на что-либо,
с надеждой, верой ожидать исполнения, осуществления чего-либо". Это значит, что слово
уповать имеет важный компонент значения, который не свойственен глаголу
надеяться:
твердо надеяться,
с верой ожидать.
Кроме того,
надеяться - это слово стилистически нейтральное, оно может употребляться в текстах любых стилей, в то время как слово
уповать - имеет стилистическую отнесенность к высокому стилю (часто называемому книжным). Это означает, что сфера его употребления существенно уже, что понятно: такое ограничение имеют многие слова, относимые к устаревшей лексике.
Об употребительности слов и стилистических пластах русской лексики можно почитать здесь:
http://russkiy-na-5.ru/articles/156.