Hello Keith. I've used Mach 3 for several years to run both lathe and mill and I'm reasonably familiar with it. It can run either as a complete controller in which case it outputs step and direction pulses to the stepper drivers; or can connect to a separate motion controller via USB or Ethernet. I have a Myford Super 7 converted to CNC and a Denford Novamill for which I built new electronics, both run from Mach 3 / parallel port.
In the first mode it requires a desktop 32 bit PC running Windows with a parallel port – these are rare these days unless you get a second hand one (which can be free). Win XP is perfectly fine, and I gather from posts on the Mach3 support forum that Win7 often gives problems when Microsoft distribute upgrades which break features that Mach relies on. As Mach3 is no longer supported in terms of upgrades this means that users are on their own fixing such issues. It means that you really have to have a stand-alone Win7 machine not connected to the internet so it can't get upgraded, and get a suitable version of Win7 that supports Mach3 in the first place – so may as well use XP since MS no longer support or upgrade it (a/k/a break it)! I use XP on an old Dell desktop. BTW you can't use anything like a USB to parallel adaptor as Mach3 takes over the PC at the "bare metal" level to generate real-time pulses – only a native parallel port will do.
Using a separate motion controller – such as Smoothstepper – you can use Mach3 on a laptop I believe, you have to install a special "plugin" so it send commands to the motion controller via USB or Ethernet. The motion controller does the stuff that Mach3 does "bare metal" if you used the parallel port. I'm not sure if the Win7 problems also apply in this mode or not.
Having said this, if you are just starting out then I seriously suggest that you don't use Mach 3 as it is no longer supported by NFS, either you use Mach 4 or a different package, and you avoid using the parallel port. I have invested a lot of time in Mach 3 and written some extensions for tool setting etc that would need re-writing in a different language for Mach 4 so I don't want to change as long as it does what I want. Mach 4 also doesn't fully support all its functions via the parallel port so really you need to use a motion controller.
Another option is to use a complete separate stand-alone CNC controller – there has been at least one thread here about this with links to suitable units available on eBay, they were highly recommended by e.g. John Stevenson – I'm sure someone can point you to the threads.
There have been a number of threads on here about various CNC applications so browse those. I also recommend these sites:
Mach3 support
CNC Zone
MyCNCUK
as sources of information and to seek help.