Smooth Shading on Cube looks weird
The short answer is that your result is the expected from smooth shading. Forgive me if I cover info you already know here.

A normal vector is a vector that points directly away from a surface. They are used to determine which way a face is 'facing' in terms of how it interacts with light. In Blender, these normal vectors don't always actually point straight away from faces.



The leftmost cube has flat shading. What this effectively means is that each face is acting as though it is detached from the other faces. At each corner of the cube you see three normal vectors, each pointing directly away from the face they are a part of. 

The middle cube is smooth shading. The normal vectors of the vertices at each corner are the average of the normals of each face at that point. The normals across the surface of the face are interpolated between these vertex normals. So you can imagine at the exact center of the face, the normal is pointing straight out, but the closer you get to one of the edges, the more the normals are pointing sideways. In terms of how blender is lighting the smooth cube, it looks like a sphere. 

The rightmost cube also has smooth shading, but more geometry. The vertex normals are still the average of their surrounding faces, but because there is now geometry confined within each flat face, those internal vertices have normals pointing straight out, and the smooth shading is merely creating the illusion of rounded corners.