You have inconsistant face normals. Some are pointing inwards and some are pointing outwards and you are trying to smooth shade between them.
Select all vertices and remove doubles (W / remove doubles) then recalculate normals (Ctrl+N). You can manully flip selected faces with W / Flip Normals