Welcome to CS With James
If you are big fan of Apple product and if you use iMac, you have thought about upgrading your hardware, such as CPU and GPU. However, in iMac upgrading hardware is highly restricted.
The new Mac Pro which look like
Source : CNET, Link
It looks beautiful but it also have restricted upgradability.
On the order hand the old Mac Pro Tower (2009, 2010) have massive upgradability.
You can upgrade CPU, RAM, GPU, HDD, WIFI and more.
It is true that it have outdated hardware. but it uses the server grade hardware, therefore, compare to current consumer hardware it is doing pretty well. Also, I am planning to use it for Video editing, Coding and Machine Learning, the Mac Pro Tower will do very good job with the minor hardware upgrade.
I am currently looking for a used Mac Pro Tower from Ebay and I think I will purchase one pretty soon. I will update the post as soon as I got the Mac Pro.