It depends what control software you are planning on using. There is LinuxCNC which runs on Linux, or Mach3 that runs on windows.
I currently use LinuxCNC and it has been great. However, as mentioned before you have a computer that is running a complete operating system as well as running the motion control software. There are tests you do to check the latency of the computer to determine how fast the system can respond to the realtime motion control software. The setting limit how fast you can run the machine so that the computer can keep up. Linux is a little finicky regarding hardware that it likes, but in general old hardware works really well. I use an old Pentium 4 desktop that a local company was going to throw away. Just needed a HDD. It runs fast enough that 200 IPM on my G0704 conversion is not a problem. There is hardware that other have tested and found to work exceptionally well, but my old PC works well enough for me. I am a bit concerned because of the old hardware. It is an old computer, old HDD, old memory, old everything. That is the main reason I am going to try GRBL. Oh by the way did I mention that the LinuxCNC control software is FREE and comes in an ISO that includes the Linux operating system. The ISO can be burned to a CD and booted from there to try it out.
Mach 3 I don't know much about. I do know that it costs about $150 if you want more than 500 lines of code. I tried the <500 line demo but couldn't get it to work to my satisfaction. LinuxCNC worked better for me. I do have to admit that I only tried it for a short while and went back to LinuxCNC. Mach3 is very customizable and lots of users here on the CNCZone use it. That is a plus if you need help. With Mach3 I believe the faster the computer the better off you are. I have seen quite a few posts talking about random errors while running mach3, but as I said, I don't use it so can't comment other than I have seen many posts about random errors. I also took note that Tormach, who are makers of production CNC machines recently switched from a Mach3 based system to a LinuxCNC based system. You can infer what you like from that.
These are probably the 2 most popular programs for CNC motion control. There are many others but these are the most popular.
As for the GRBL controller, the hardware for that is the Arduino and any computer that has USB to talk to it. There is a G-code front end called "Universal G-code Sender" that is Java based and as such can be used on Windows, Apple, or linux. The G-code sender program just send the G-code commands to the arduino via USB so there isn't much computing power needed.
Good luck.