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”.

Standard usage in geometric combinatorics and polyhedral optimization (and this is the context in which the Maclagan-Sturmfels book is written) a polyhedron is a the solution set of a finite system of linear inequalities and a polytope is the convex hull of a finite set of points. Every polytope is a polyhedron and every bounded polyhedron is a polytope. That is: “polytope” = “bounded polyhedron”