RhinoCAM has three primary advantages: It's completely integrated with the Rhino environment (and, by extension, Grasshopper), it's incredibly easy to learn, and it's cheap. For these reasons it's an ideal choice for the classroom. However, the app has some serious limitations that keep you from having very much control over the machining process. Many toolpaths and boundery ("region")-generation tools are buggy, there aren't a whole lot of options both in terms of toolpaths and within the toolpath forms themselves, and the tool database files are proprietary which keeps them from being edited in spreadsheets (you can use *.csv files as an alternative but they don't include key information like speeds and feeds per process or per material). Some things that RhinoCAM does better than other CAM packages I've used are its ability to export wateright, high-resolution STL stock models (which can in turn be referenced in place of the standard block) and its ability to export toolpath curves (though it unfortunately does not separate leads and links from cutting moves). Would love to see someone access the API and further its ability to integrate with Grasshopper, which is so useful for creating custom surface-based toolpath patterns.