The following was originally posted by David Celento to the MakerBot Operators Group on January 10, 2014. Reproduced here with his permission. Thanks David!
Over the years, I've tried Solidworks, Maya, 3D max, Cinema4D, Blender, Sketchup, and probably a few I'm forgetting. For the type of work I do, I've found that Rhinoceros (by McNeel and Associates) is the most useful. An added plus is that McNeel is an employee owned company and they take user feedback VERY seriously. Very helpful user community, too.
Right now, the best value out there might very well be Rhinoceros for the Mac. This incredibly powerful NURBS modeling program is in beta development and is FREE to use (but requires updating every two weeks, and if you use it, kindly contribute feedback towards development). Lots of great diagnostics for watertight checking and one can see back faces in color, which is very helpful. You can even do push-pull modeling, like in Sketchup—which is ridiculously unheard of for NURBS modeling. Download it here.
Windows users, you'll have to pay for a full fledged copy since it is a fully developed program (almost $1K, unless you are a student or teacher), but, you can get an evaluation copy (with 25 saves and no clipboard). Many design professionals rely heavily on this program, and for good reason.
A less fully featured NURBS program (as has been mentioned by others) is Moments of Inspiration—and it's quite nice if you don't need all the features of Rhino. MoI is about $295.
Some general thoughts: Modeling software is a matter of preference and there is no "right" answer, unfortunately. The type of work desired and software cost are often significant factors. However, what many don't realize is that the "type" of geometry that can be modeled is critical, and here there are large differences. A few things worth keeping in mind for those new to the topic: STL Files: You need software that will create an STL file (and an OBJ file might suffice) in order for most "slicers" to read your file.
Surface Modeling vs Solid Modeling: Surface modeling is similar to assembling individual elements to construct a whole. Surfaces have no material thickness and if one desires thickness, the inside, the outside, and the edges all need to be constructed. While this might seem like a pain, most programs offer "primitives", or shapes which already have these characteristics—you can then simply modify them. The advantage is that one has lots of creative freedom since (highly organic forms are often possible) and many products are out there from inexpensive to expensive. The drawback is that one needs to work a bit to make things "watertight" (where there are no gaps between faces) in order to 3D print. (Think Blender, Sketchup, Maya, 3DMax, Rhinoceros, Moments of Inspiration, 123D, etc) Animators and Product Designers tend to prefer these kinds of programs.
Solid modeling is similar to starting with chunks of material and performing operations on them. They are usually very precise in terms of geometry creation (meaning you have to usually be specific about the size of things when you create them). The advantage is that they are always "watertight". The disadvantage is that they are usually pretty expensive. (Think Solidworks, Pro Engineer, CATIA, etc). Engineers and Manufacturers tend to prefer these kinds of programs.
Polygon Modeling: Essentially, you are dealing with triangles or quadrangles to define all shapes. Curved surfaces are approximated by small triangles with flat faces. Usually this does not matter for 3D printing, unless the triangles are too large (creating flat spots around a curve). The biggest challenge with polygon modeling may be that it's often difficult to edit shapes with precision. If one has a vector file (from CAD or Adobe Illustrator) and wants to use this for accurate form creation, it is difficult.
NURBS Modeling: This type of modeling uses vector based line work to create surfaces. It's as if Adobe Illustrator was fully 3D and permits very free-form, highly organic work. The benefit is that total precision is possible and editing is fairly easily done. Final objects created in NURBS may be converted to polygons for export as STL files.
Maybe this helps a bit.
Credit: David Celento, DigiFabLab