NURBS can be really fast but it is harder to put details in. You have less control.
Working with polygons basically consists of two methods:

Box modeling. You start with a box or another simple shape and then you create the shape using extrusions, chamfering, beveling and applying transformations. That is the general idea.
Compare it to modeling clay.

Poly modeling. You start from scratch and create all the polygons by placing vertices and connecting them or extruding/chamfering/etc.
Compare it to making something out of wooden boards.
You may also have heard of subdivision, or subd, modeling. This basically is modeling the mesh with not too many polygons and then applying something like meshsmooth to get the final result. You have to build the low poly mesh with the characteristics of meshsmooth in mind so meshsmooth can make the high poly model for you.
Understand that you can use subd modeling with either box or poly modeling.
Compare it to making a sketch or plan, giving important areas more significance so the nonsignificant areas can be constructed/filled in for you.
Perhaps of interest to you: the word polygon is derived from two ancient Greek words, poly and goni (not sure about the last), meaning ‘many angles’. It’s defined as a plane figure with many angles. Basically a plane with more than three sides.
I personally use poly modeling most of the times. If I were you I’d learn either box or poly modeling first, and then learn NURBS if you have to. And stay clear of patch modeling
Hope this clears it all a bit up for you.