I'm currently clueless as to how to morph a curve smoothly into a flat surface. As you can see in the image below, the black area has a flat surface, but changes into a curved surface in the red area. How can I model this smoothly?
You could start with a cylinder
After that could select edges and scale the x-axis:
First create the flat surface and just extrude it downwards(the circled red part) and continue that way.Then add few loopcuts between the smooth and the flat ares and slide the loopcuts accordingly .If you want you can add the subdivision surface modifier and smooth to get that part nicely done.