Smooth shaded model has odd shading
This is because your mesh edges change direction sharply. It's unavoidable by default unless you add supporting geometry to make the transition smoother. 

The image below shows 3 similar cylinders that were smooth shaded. The first has a ngon capping the top, the second is capped with triangles and the last has a ngon cap but has a bevel around the edge. Notice that the 3rd cylinder doesn't have any weird shading since we eliminated the sharp edge.



So to fix, add supporting geometry by beveling your edges to avoid sharp curves and turns.

Another fix is to just add an Edge Split modifier. The cylinder on the left is the default one shaded smooth, the other one has the modifier. This won't always just work out of the box though for more complicated shapes and might require some tweaking.