I am having a hard time understanding what is the main difference between a polyhedron and a polytope. Could anyone explain me what is the difference between these two structures?
A polyhedron is a special case of a polytope, or, equivalently, a polytope is a generalization of a polyhedron. A polytope has a certain dimension $n$, and when $n=3$ we say that the polytope is a polyhedron. (Similarly when $n=2$ we say that the polytope is a polygon.)
This is analogous to how we can define a general $n$-dimensional sphere, and how we call the $n=1$ case a "circle".
EDIT: Indeed I should mention that this definition is not universal. Some people say "polyhedron" to mean "polytope" as I've used it above, and say "polytope" to mean "bounded polyhedron".
In his classic text on Convex Polytopes, Grünbaum gave three incompatible definitions of a polyhedron, each used in a different branch of mathematics. There are plenty more. He later wrote somewhat resignedly that a polyhedron "means whatever you want it to mean".
Definitions of a polytope also vary, though thankfully not quite as much.
In the original sense, a polytope was an n-dimensional generalization of a 3-dimesional polyhedron or 2-dimesional polygon (whatever those are).
Some branches of mathematics find it convenient to distinguish them in kind, with say one being a bounded n-space and the other either unbounded or the bounding (n−1)-surface. Some insist on convexity, others do not.
Authors are often lax in specifying which kinds they are referring to and this sometimes leads to them incorrectly drawing on results derived for another kind. If the document you are reading is not clear what it means, be wary of its validity.