The main reason people still use parallel ports for CNC machines is they're cheap, and for your typical home CNC they are more than adequate. However parallel ports are becoming rarer.
Any half decent commercial machine will use a dedicated motion controller, and if PC driven, usually either via USB or Ethernet. Serial has pretty much died out, as it simply doesn't have the bandwidth to handle complex countouring, especially at modern machine speeds.
I actually find the history of Mach pretty interesting, and think that Art Fenerty, the man behind Master/Mach, is a genius. He achieved something that many said couldn't be achieved on a windows operating system, which was a highly accurate pulse generator. And as far as anybody knows, it's something that has never been repeated. I know Art has said that the driver is essentially a virus that latches onto the windows kernal and hijacks processor time, which is why it will never likely work on 64bit systems, as 64bit kernals are encrypted to improve security and the encryption gets changed with most updates.
Art developed Mach to the point of adding plug-in support, so it would work with external motion controllers, however Mach3 was originally designed to only use the PP, so Mach3 has been plaqued with many bugs due to interdependability issues since, which have only become more apparent as external motion controller/plug-in developers keep pushing the limits.
At some point Art sold the company to Brian Barker, who spent a few years ironing out bugs, before finally biting the bullet and starting a complete re-write, which has only over the past few months been released for testing.
Mach 4 is essentially just a framework, with various plugins to provide the GUI, trajectory planner, and IO. It also removes alot of the limitations that Mach3 imposed, such as limited IO numbers, and the 10Hz update rate for plug-ins/macros. Feedback so far has been good, however there is increased competition, but personally I think Mach will still be very popular, as it's far more adaptable than the other options without requiring a great deal of programming knowledge.
The parallel port plugin for Mach 4, Art wrote under the working name of Darwin, as he feels it wil be the last evolution of the printer port for motion control purposes, as external motion controllers are getting cheapers and more common place (I've personally got 3 machines that all use external motion controllers).
Art also wrote a test version of Mach with a high order trajectory planner to provide an S-curve motion profile, under the name Quantum. I read a post about what's involved in a high order planner, and my head hurt reading the description, let alone the amount of coding and thought that would need to go into writing one!
One of Art's great attributes is he is willing to share his knowledge about such things, and explain it in a way in which most people will understand.
Art's latest project is Gearotic Motion. I had a quick play with it when it was still pretty new, and it just blew me away with what it was capable of designing. For anybody interested in gears, especially more bizarre yet functional ones, check out the Users Pics, and Your Videos boards over on the forum -
http://gearotic.com/ESW/FavIcons/For those who mentioned using a USB to parallel adapter, it won't work. Motion control relies on highly accurate pulsing, which standard USB to parallel adapters are just not capable off. The nearest thing you can get is CNCDrive's UC100, which looks just like a USB to parallel adapter, however is actually an external motion controller, shrunk to fit in a very small enclosure with only a single USB and single DB25 connector. It's essentially designed as an easy way to provide USB connectivity to a parallel port machine, without the need for rewiring/retrofitting.
I've now retrofitted three CNC machines, with a fourth being planned, and have looked at most hobbyist level motion controllers and software. All have limitations, however Mach remains my personal choice as it provides a standard interface which is relatively easy to customise. I have one machine running Denford's VRMilling5, purely because it had been upgraded to the USB controller which provides pretty good performance, however it's just not got the features or easy adaptability of Mach, which is where most other options suffer aswell.
I know I fall into the more experienced CNC builder category, so I know what I want from the hardware and software.
Whereas somebody new, mostly decides on price, and often ends up with less features, which is fine until you realise those features can come in very handy, or the junk you've bought is hopeless (TB6xx drives being the best example!).
And finally, the issue of non-level boards, check out
http://www.autoleveller.co.uk/I've not personally used it, however feedback seems good. Although it requires probing, you just need a single available input connected to a couple suitable bits of wire with crocodile clips. One clip on the board, one on your spindle/cutter, and you've got a suitable probe.