Prove that a convex 3D polyhedron with all faces rectangular is a cuboid Seems pretty obvious, but that doesn't always mean a proof is trivial, or even that the result is true.
Clearly the assumption of convexity can't be dropped, because otherwise one can start with a cuboid and scoop out a smaller cuboid-shaped hollow in one of its faces.
edit: I should add that I have what seems a pretty simple proof; but I'm curious to see if there are other ways of looking at this.
 A: Every vertex of such convex polyhedron is the common point of exactly three faces: they cannot be $\leq 2$ or $\geq 4$. It follows that three orthogonal edges concur at each vertex. We may finish by embedding our polyhedron in $\mathbb{R}^3$ and assuming one vertex lies at the origin and the departing edges are given by the positive $x,y$ and $z$ directions. There are three rectangular and orthogonal faces on the $xy,xz,yz$ planes: let us consider the vertices on such faces farthest from the origin. Three orthogonal edges must depart from them and meet in a point $O'$. It follows that the original polyhedron is a cuboid and $OO'$ is one of its diagonals.
As an alternative, given that any vertex has degree $3$ and every face has $4$ sides, by Euler's formula
$$ 2 = F+V-E = F+\frac{4}{3}F-2F $$
hence $F=6$.
If we drop convexity, we have this nice counter-example made by assembling seven cubes:
$\hspace{4cm}$ 
A: Not sure if answering one's own question is the correct drill, rather than editing the original, but anyway I proved this as follows ..
Consider a face bordered by the longest side (or "a" longest side, as there may of course be more than one joint longest side), then consider the neighboring face(s) sharing this side.
If there is more than one such neighboring face, then between any two consecutive such faces must be a third face normal to both (* see edit below). But sufficiently close to the common side these three faces must form a concavity, contrary to our initial assumption of convexity.
Thus there can be at most one neighboring face joining this longest edge, covering it entirely, and since this edge length is maximal the neighboring face cannot extend beyond the edge at either end.
Since this neighboring face is rectangular, the same argument can be applied to the edge opposite the common edge already considered, and continuing in this way we deduce there must be a ribbon-like sequence of rectangular faces each consecutive pair of which shares a common edge of maximal length.
By convexity each adjacent pair of faces has an interior angle less than 180 degrees, and eventually the "ribbon" must meet back at the edge where we started.
Thus our polyhedron is a prism, in which the top and bottom faces must also be rectangles and the result follows.
edit: (*) The "third face normal to both" aspect needs a slight elaboration, because in fact there could be more than one face between the two skew faces being considered. But sufficiently close to the point where the two skew faces meet, the face(s) between them must comprise one or more faces whose edges all meet at that point, i.e. a kind of multi-sided pyramidal arrangement. But then a simple limiting argument shows that there must be a concavity sufficiently close to the point common to the two skew faces.
