It's a bit different actually. There are basically two ways to model with NURBS.
The first is to lay out curves and build up most of the basic surfaces from them through several possible methods (revolve, loft, boundary etc). The resulting surfaces are then used as a basis for other surfaces generated procedurally; like, you can create rounded corners, or blends between two surfaces, and so on. You can also use trimming; drawing a curve on a surface and deleting the inside/outside area to make a hole or a random outlined surface.
Surfaces can be joined together even if the number of CVs is not the same on the two sides, because the software works with the actual surface itself. You can imagine how much computation this requres... You can make it easier if you match the CVs though
There are ways to 'rebuild' the underlying structure and change the number of CVs on surfaces while keeping the shape as much as possible.
So by using the math behind NURBS, you can create very complex surfaces, and even go back and change it with the underlying construction history in most modeling/CAD packages. But this is a mathematical representation of the surface, so its more suited to the CAD industry. Complex surfaces are very complex indeed, and have a lot of highly inefficient areas, zillions of control vertices, and calculation-intensive dependent surfaces (above mentioned blends, rounds etc). So you can use this data to drive robots to sculpt out the surface from steel or whatever and go straight to fabrication. But it's far too complex for realtime display, and you don't need its precision in a game or a movie anyway. When you tesselate this surface into polygons, you'll get a whole lot more of them than required, so it's a low efficiency, very precise results approach.
Here's a tutorial for modeling a car with NURBS. Keep in mind that its in no way as precise as the model that could be used to fabricate the actual chassis, and still its very work intensive...
http://67.15.36.49/team/Tutorials/julian_sarmiento_carmod/carmodel_part1_01.asp
The other method is the one mentioned here, using quadratic NURBS patches to build a surface and stitching them together at their edges. The problem is that the stitching is only virtual as you'll still have individual patches - but the software will try to maintain surface continuity and tangency at the edges between them. Still, a multipatch surface can crack, especially when deformed with a skeleton, and using displacements on it; not to mention the calculation time to keep the stitching.
And it takes a lot of skill and extra work to build a good NURBS patch model, so a lot of time will be spent on technical stuff instead of the actual artistic part of modeling. Then there are the UV problems - you can either use one texture per patch (!), multiplied if you want normal/spec/whatever maps (!), or you can spend some more calculation time on projections for the mapping. Not to mention that your textures will be distorted, which you can only compensate by using a 3D paint package that supports NURBS (not too cheap).
Polygons/subdivs are a lot friendlier altogether, but a lot less precise as well. And decades of research have created a wide set of NURBS modeling tools to build hard surfaces (that is, man-made objects). Still, I can't see NURBS cars in games in the future...