Also, keep in mind that unmerged vertices, extra vertices, and non-planar faces can also cause shading problems. If so, smooth/hard=0 will make it look right but it won't fix the cause of the problem.
I perform smooth/hard only if I can't find any of the above mentioned issues.
Don't be satisfied with what you can do but rather strive to do the things you can't do!
Exceed Expectations!