Smooth shading causes steep gradient line on a simple mesh
Like m.ardito said, it it an issue with smooth shading. Contrary to what he said though, it won't render correctly in many situations. That is how Blender calculates the normals...
To fix the problem, you could add a bevel modifier and potentially turn on auto-smooth in the mesh settings.
Here is what it looks like with this bevel modifier:



To understand what's going on, let's look at the default cube with smooth shading.

It too has rather hideous shading &quot;problems&quot; shown by the sharp gradient lines between the closest and furthest vertex on the top. As I understand it, smooth shading averages the normals from the vertices so that there isn't a sharp change at the face's edges. But unless you use a normal map, you must use some sort of math to set what the normals will be across the face. For flat shading, the normals are the same across the face, but have a hard cut at the edges. An easy way to fix this is to just add more geometry. This allows the smoothing to look much more like what you'd think. Here are a few examples of ways to introduce this geometry.
Bevel Modifier

Notice how the normals get better and better with the higher amounts of geometry.
Subsurf Modifier

Notice that the subsurf modifier is just subdividing the faces. It is not doing any smoothing itself because it is set to simple instead of Catmull-Clark.