I have an issue with my model whenever I hit smooth. Basically the model looks better when flat than when it's smooth shaded. I dont know how to make it look good like the reference image.
In a case like this you want the best of both worlds. To achieve this you can use the Auto Smooth option in the Mesh Context.
I'm on mobile right now, so I can't take screen shots of Blender, but I've found some example images on the web.
Notice how the model on the right has both flat and smooth shading?
Here's where to find that feature:
This last one is actually from another Blender Stack Exchange answer. It would probably help you to take a look at it.
The Angle slider determines at what angle the meshes shading will switch from flat to smooth. Play with this.