Hash Coon patches are almost eaxactly the same as nurbs or bezier patches. The coon patch is the same in behaviour and modelling techinque, with the only real difference being in the programming that makes it up. It is a fast-draw patch system that follows all the same make-up and rules as a nurbs surface. A system that utilizes the Coon patch creates the patches via a particular object-oriented programming method that has to be built into the software as such. I think it is used mainly in CAD for this reason. It is faster to draw then a standard nurbs system, but the nurbs advantage, is that it is a compatible design with all the software used in highend 3d production. Incorporating coons patches is generally not necessary as it would just be an extra chunk of programming to build into software, slowing it down.
We use nurbs ...just as you use bezier and coons patches in Hash for the same reasons...they are easier to work accurtately and organically then polys, and considderably faster and easier to texture then polies. Plus, if you need a photorealistoc human for example...your poly model is gonna be so stupidly high-res that you can forget about getting those uv's cleaned up anytime in the next 10 years. Sub-d's give you the benefit of polys and nurbs sculpting technique and can be made out of either, greatly widenning the scope of modellers' capabilities whether they are more used to modelling with polys or with nurbs. Only, texturing sub-d's is unfortunately no different than with polys other than the fact that the object is lower res then the same looking poly version.
When you are in a cad environment, the focus is on accuracy and volume of detail, so it makes sense to build cad software with surface types designed to cope with that. In production, your focus is on several other things. Firstly, if for example you are making a cg car to go in a film, you need only create the shell, wheels and a little bit of interior. When you are in cad industry, you would need to build the entire car and engine etc piece for piece maybe. In production or games you emphasis is not on accuracy, but purely aesthetics and of course render time. You want to be able to create, texture and render as fast as possible. You also need compatability cross-platform and most importantly, use software and techniques, for the most part, that you know you can hire more people for and plenty of em, at a minutes notice.
The other reasons for certain choices..which change every project, are simply personal preference of the person modelling and the person texturing. Its really up to them how they want to go about it, and as it happens, most people are used to using nurbs, and these days, everyone gets into modelling with subd's for many reasons...mainly, nurbs patching is a LOT harder to get used to and very time consuming, but pays dividends when it comes to animation and texturing.
Also, some companies have a lot of proprietary systems such as muscle and cloth systems, that perhaps only work with poly models for example. The reason that proprietary systems like those only typically support one surface type, is that they are very sophisticated systems that take years to develope. The rules of your programming and design of these systems are very much different in almost every aspect between different surface types. Therefore, if its taken you a year or two to make a muscle system that is designed first for a poly object...then you use a poly object, and if you want a nurbs object, its gonna take another 6 to 12 months to re-design the system to support that too.