Nowadays it you want to manufacture a part, especially a complex part, the first thing is to get a 3D model. And for 3d printing or CNC machining, step one is to get a 3D model too.There are some methods to get a 3D model. Among these methods, the best way is to create models with some 3D CAD software by yourself. So usually you need to learn a software to do that.
what 3D CAD software should you learn
First of all, try to choose a good 3D CAD software to learn. And the 3d modeling program should have most of the features you will need in the future.
I don’t recommend using low-feature, simple tools, such as Sketchup, TinkerCAD,3Dslash,123DDesign, etc. Because you will quickly find that they won’t meet your requirement and you need to start to learn a new 3d design software. Of course, if you just want to know the designing process simply, maybe you can try these CAD programs.
If you want to create 3D models for inventing, mechanical engineering, or high-accuracy simulations, you can try to learn Solidworks, Autocad, Inventor,Creo,UG or Catia.
If you want to make models for video games, movies, and special effects, you can choose Maya, 3DS Max, Cinema 4D, Modo, Lightwave, DAZ 3D, Rhino,Carrara or Blender.These are complete packages that can do many things.

How to learn 3D CAD software
After you have chosen a software, dedicate yourself to that software completely. Don’t jump around to try many different software packages, that will waste much time. Just focus on the software of your choice. Because most software packages have similar function. The software has so many powerful capabilities and features. So usually it will take a long time to become fully trained in even one of the software packages.
Whatever software you choose there will be several free guides and tutorials. You can also buy some books, but sometimes maybe it hard to learn creating 3D model from a book. Tutorials on YouTube may be helpful, and there are some more professional tutorials too. When you plan to start learn a software, video instruction will be a huge help, and will probably be much better than a book.
Keep in mind, video tutorials or book can make you to learn the software easily. But if you want to get good at that, the only way is to spend much time practicing it.
You actually explained it very well!