As Azzizi said, modelling is complicated by nature. But it can be self-taught, you don't need a college degree in order to be proficient... I like to think my modelling skills are at least somewhere in the upper half where skill is concerned and I am self-taught. All you need is a good tool, an eye for proportion and patience. Good visualisation skills help too.

When it comes to curves and box modelling, here is a little example:
Let's say we want to make an oval shape similar to what you are trying to do. I am not familiar with the exact proportions of the ship you are trying to make, but its close enough.
You start by outlining your desired shape with curves. It can take some time until you learn what curve drawing method is best for your purpose and so on, but in the end it helps visualize your model a lot and is also much easier to adjust than the mesh itself. This allows you to "pre-model" fairly complex shapes without commiting to the more time consuming process of actual mesh modelling.
So, in this example, I used primitive circle curves (Primitive->Curve->Circle) and then scaled them to ovals. For the parts of the hull which gently slope, I used Curve->Draw Cubic by CV's tool, and the parts which have a flat "step" look I left empty - later on we shall simply adjust our cross-section to fit.
Remember, if you have a symmetrical model, always minimize your work and error margin by modelling the smallest possible section of your model and then use either duplication and rotation, or in the case of meshes, Right Click-> Symmetrize tool.
This is the end result, after some duplication and rotation of the curves:

Front

Side

Top
As you can see in the isometric view, a shape outline is visible now:

Step 2: making the cross-section
We will now make the initial cross-section mesh from a cube primitive. The idea is, since our model is symmetrical along two axles, to model just one quarter of the oval, and then use Symmetry tool to complete the deed (later about that). With that in mind, we shall make our cube fit to one quarter of the outermost oval, like so:

Initial box
->
Fitted and adjusted (press Enter with the box selected and adjust Base subdivision count to 15, with the U and V count left at 1)

Also make the box very thin (viewed from the side) and fit her top to the bottom-most oval, like so:

Now we are ready to start fitting individual vertices to the bottom-most oval curve, which will produce our initial cross-section slice. Press "T" to go into vertice select mode and adjust the box vertices to fit the curve, like so:

Now press "u" to go into raytrace polygon selection mode and select all the top polygons of the cube:

Now we will start duplicating, moving and scaling them to fit the shape we outlined with the other curves. When scaling, remember to use the "global" mode found on your Transform panel to the right and have the scaling gizmo always positioned on the center of the oval shape. This will allow you to scale your polygons "one-sidedly", without the other side moving.
After a first few divisions, you should end up with this:

Once again, first duplicate your polygons, then move them up a bit, then scale them to fit. After you have scaled them, repeat the process (judging by your posted screenshot, I'd say you duplicated one time too many).
Here is how the model looks after we are done with the process:

You may end up with a very small flat section at the top of your model. What I find convenient, both for poly count and for later editing, is to select all the vertices of that section and use Modify->Poly.Mesh->Filter Points tool to merge them all into a single point. You can then move that vertice about to fit the rest of the shape.
We will now symmetrize our model. First, we have to remove the polygons in order to create the edges which will be welded automatically in the process. You always delete polygons on the side which is parallel to the plane of symmetry. For example, in the following picture:

You can see which polygons I removed, and the newly created edges outlined in light blue.
Now we can press "u" again and then "Ctrl-a" to select all the remaining polygons. Then we right-click and select "Symmetrize Polygons" option in the menu. Adjust the Plane Normal option (X, Y, or Z axis) depending on which direction you want the symmetry to go. In this case, its the X axis.
The result:

Naturally, we can complete the shape, by again removing necessary polygons, right clicking and symmetrizing, this time along the Z axis:

Or we can keep the front of the hull and this time use the back polygons as another cross-section, with a different set of curves to produce a different shape for the back portion of the hull.
This method may look complicated, but once you get used to it, it makes modelling curved shapes a lot simpler. Naturally, you cannot do *every* shape this way, but for base shapes, the ones you will later edit for the finer detail using the usual box-editing methods, its great, in my opinion.