When training towards a goal, say running a 5K or doing a pull-up, it is best to train by literally doing that thing you are training for. Using machines as proxies is great exercise, and are certainly much better than not exercising, but if you have a goal that does not involve machines then machines will not do much to forward that goal. This is due to several complex factors, but one big factor is stabilizer muscles.
If you are training to do a pull-up, you must train by actually trying to do a pull-up, hanging from a bar. Using machines (such as lateral pull-down and/or a pull-up machine) will strengthen the major muscle groups in your arms and core, but your stabilizer muscles will not be engaged since the machine holds the weights (or your body) steady for you. Therefore, you might get to the point that you are lifting / pulling down a weight much greater than your body’s weight, but when you try to do a pull-up on a bar you will still be unable to. That is exactly what happened to me. When I finally trained to do pull-ups by actually attempting to do pull-ups, then I was engaging my stabilizer muscles and they finally got strengthened enough to do pull-ups.
A similar thing happened when I decided to start training to run a 5K. I regularly (1x or 2x a week) run 5K on a treadmill to keep my cardio in shape, but when I decided to enter a race I knew that I had to begin actually running 5K outside.
A big part of the difference is due to air resistance – depending on wind conditions this can add ~10% (or more) effort to your run outdoors. People often recommend compensating for this by setting the treadmill to an incline to increase the effort you exert, which I do, but this engages totally different muscles than air resistance! I think it must be more stabilizer muscles (or something similar) which contend with the air resistance, whereas running on a treadmill at an incline simply increases the effort of your major leg muscles. You’ll be burning the same # of calories, but you won’t be prepared to run outdoors!
The first day I went to run outdoors (after, like, 10 years of only running on a treadmill) was a huge shock to me. Despite regularly “running” 5K on a treadmill with 10% incline no trouble, when I ran 5K outdoors my legs were protesting and I felt like I barely made it! Then my legs were sore all over for a week! It wasn’t until I trained by running outdoors for a while that it began to feel easy to run outdoors. Even though it was already easy to do indoors!
If you think on it, it makes sense that increasing the incline on a treadmill wouldn’t be comparable to running outdoors. Air resistance acts on your entire body, including pushing on your head and torso, and therefore your stabilizer muscles in your legs have to adjust in many nuanced ways to compensate for this. And of course if there is wind, the stabilizers will be working even more! When running on a treadmill, there is no air resistance pushing on your head or torso or legs. Setting an incline will work your calves much more, and you will work your cardio more. But you won’t be engaging exactly the same muscles as when you run outside!
That being said, if you only have access to indoor machines for training, definitely you will get a workout and it will keep you healthy if you regularly use the machines. Running on a treadmill (or using another cardio machine) will absolutely work out your cardio, and keep it in shape. I’m not rubbishing using machines for health!
But, if you want to train to a specific goal like a race, then machines can’t get you there. You need to train for the thing by actually doing the thing. Whether you want to do a bicycle race, foot race, or a pull-up, you have to actually get out there and attempt to do the literal thing. No proxies! Or you will never reach your goal, simply because there are many tiny stabilizer muscle groups that work in incredibly nuanced and unpredictable ways to help you with the task, and training on machines generally neglects the stabilizer muscles.