I was very grateful for the evaluation version of Mach3 initially. It allowed me to get some results quickly and I didn't have the enormous hassle of making a Linux machine see my Network Attached Storage disk, so I could just send CAD-originated gcode from anywhere.
With EMC2 I had to cope with the fact that my Linux is very rusty, but once installed and networked I found it more intuitive. It's possibly true that it's a computer user's program, rather than a shop-floor miller's program, because I found everything I needed just by looking in the menus. CNC has moved, anyway, from being a blue-collar machine-driver's game to being a creative outlet for designers.
Mach3 crashed the bit into the table, twice blew a fuse and a FET because it sometimes corrupts the axis positions when you load a new program going from metric to imperial (or the other way, I'm not sure), I found I had to check for that before every machine start.
EMC2 has several toolpath display options in 2D and 3D, showing table limits. Smooth graphics. The display in Mach3 is primitive, difficult to manipulate with keypresses + mouse to zoom and pan, and Mach3 frequently loads programs out of scale.
Mach3 hits you with a zillion on-screen functions many of which are really irrelevant and only run the risk of swamping the user with options. CNC is really all about gcode and writing gcode or creating it by exporting from a CAD program, not being able to override the current settings, such as feed rate, from the control panel. That's what we call '**** on a bull'. Most of the buttons on an industrial DRO stay clean. They're just there to baffle the apprentices.
EMC2 has very few on-screen controls. You can set the jog spacing to a variety of steps from 0.005 mm to 5 mm to continuous. Brilliant when you want to get an axis back to 0. That's about the only on-screen control, the jog, apart from homing the axes, start, emergency stop. I had to write a program to zero an axis for Mach3.
EMC2 has a much more reliable feel, more worked-out, more polished. Night-and-day is an overworked metaphor in audio, but that's what I thought when I changed over. I have a lot of complaints about Linux, and the guys who wrote it not having any consideration for users, but I really feel that EMC2 is function-focussed and built by guys who really knew what they were doing in terms of creating a useable, useful interface.
And then it runs 500+ lines of code for free, if you have a hard disk spare, which I had. I'd already run into the 500 line barrier when trying to rout PCBs. That's $150 to spend on bits or materials.