It is convenient to see the cube as the intersection of six halfspaces determined by its faces. Namely, the cube is the space between the top and the bottom face, intersected with the space between the left and the right face and with the space between the front and the back face.
To study the cross sections of the cube: rather than seeing the plane inside the cube, it is convenient to see the cube inside the plane. Namely, we can study the cross sections with plane geometry. Suppose that the slicing plane is not perpendicular to a cube face (an easy case we have already dealt with). Then the space between the top and the bottom cube faces, seen inside the slicing plane, is the stripe between two parallel lines. The same holds for the other two pairs of opposite cube faces, resulting in other two stripes.
Because of our assumption on the slicing plane, the three stripes in the plane have distinct directions.
Thus, the intersection between the cube and a plane that is not perpendicular to a cube face is the intersection between three stripes in the plane with distinct directions.
Which shapes can be obtained by intersecting three stripes in the plane with distinct directions?
We use $xy$-coordinates in the plane, and call $S_1$, $S_2$, and $S_3$ the three stripes. We can make some simplifications by choosing the coordinate system appropriately.
We may suppose that $S_1$ is bounded by the lines $$x=0 \quad \text{and} \quad x=1 \,.$$ Moreover, we may suppose that $S_2$ is bounded by the lines $$y=mx \quad \text{and} \quad y=mx+c \quad \text{with} \quad c>0 \,.$$ Finally, we may suppose that $S_3$ is bounded by the lines
$$y=m'x+c'_1 \quad \text{and} \quad y=m'x+c'_2 \quad \text{with} \quad c'_2>c'_1 \quad \text{and} \quad m'>m \,.$$
The intersection between $S_1$ and $S_2$ is the parallelogram with vertices $$(0,0) \quad (0,c) \quad (1,m) \quad (1,c+m) \,.$$
Now we need to intersect the parallelogram with $S_3$.
We have several cases:
If $c_1'>c$, the intersection is empty.
If $c_1'=c$, the intersection is the point $(0,c)$.
From now on we will suppose that $c_1' \lt c$.
Suppose first that $0\leq c_1' \lt c$.
If $c'_2 \ge c$, the intersection consists of the points of the parallelogram that lie above the line $y=m'x+c_1'$.
If $m'+c_1' \ge m+c$, the intersection is a triangle.
If $m\leq m'+c_1' \lt m+c$, we have a trapezoid that is not a parallelogram.
If $m'+c_1' \lt m$, the intersection is a triangle.
If $c'_2 \lt c$, we have:
If $m'+c_1'\geq m+c$, the intersection is a trapezoid that is not a parallelogram.
If $m'+c_1'\lt m+c$ and $m'+c_2'\geq m+c$, the intersection is a convex pentagon with two pairs of parallel sides.
If $m'+c_2'\lt m+c$, the intersection is a parallelogram.
Now suppose that $c_1'\lt 0$.
If $m'+c'_1\lt m$, the intersection consists of the points of the parallelogram that lie below the line $y=m'x+c_2'$.
If $c_2' \geq c$, the intersection is the whole parallelogram.
If $0\leq c_2' \lt c$ we have:
If $m'+c_2'\leq m+c$, the intersection is a trapezoid that is not a parallelogram.
If $m'+c_2'> m+c$, the intersection is a pentagon with two pairs of parallel sides.
If $c_2' \lt 0$ we have:
If $m'+c_2'> m+c$, the intersection is a trapezoid that is not a parallelogram.
If $m\lt m'+c_2'= m+c$, the intersection is a triangle.
If $m'+c_2'=m$, the intersection is the point $(1,m)$.
If $m'+c_2' \lt m$, the intersection is empty
Now we suppose that $m'+c'_1\geq m$.
If $c_2'\geq c$, the intersection consists of the points of the parallelogram that do not lie below the line $y=m'+c_1'$.
If $m'+c_1'>m+c$, the intersection is a trapezoid that is not a parallelogram.
If $m\lt m'+c_1'\leq m+c$, the intersection is a triangle.
If $m'+c_1'=m$, the intersection is the point $(1,m)$.
If $0\leq c_2' \lt c$ we have:
If $m'+c_1'\leq m+c$, the intersection is a convex pentagon with two pairs of parallel sides.
If $m \lt m'+c_1'\lt m+c$, the intersection is a convex hexagon with three pairs of parallel sides.
If $m'+c_1'=m$, the intersection is a convex pentagon with two pairs of parallel sides.
If $c_2'\lt 0$ we have:
If $m'+c_1'\geq m+c$, the intersection is a parallelogram.
If $m\lt m'+c_1' \lt m+c$, the intersection is a convex pentagon with two pairs of parallel sides.
If $m'+c_1'=m$, the intersection is a trapezoid that is not a parallelogram.