When you decide to build your own CNC, choosing a controller is a big decision and there are a few different directions you can take. If you can find or modify a PC to output parallel port signals, you can control things directly. This is become far less common as finding a computer with these ports is increasingly rare. Another option is to send your G-Code to a micocontroller over USB and have the microcontroller drive the CNC. The most common way this is done is with an Arduino running Grbl CNC control software.
The Arduino then takes care of the “small” detail of quickly sending coordinated pulses to your stepper motors via a driver board or boards, letting you stress about something other than whether your computer will malfunction in the middle of a machining cycle.
While an Arduino is capable of this task, physically wiring things into each axis is can be a bit difficult. You could kludge a solution together yourself, but this GRBLDuino Shield takes care of your connections, allowing you to focus on actually getting things running.
The board attaches to an Uno as a shield, and allows you to fasten wiring in place with screw terminals. You’ll need to provide the Arduino itself, as well as Pololu DRV8825 stepper drivers (or compatible). After that, you “just” need to provide a spindle or other cutting tool, CNC frame, stepper motors, and whatever else you need to get your machine working! Don’t be discouraged, building your own CNC is an epic journey and the best way to learn many important lessons about machine design. Good luck!