I know this is a popular discussion on the internet and many other people have shared their opinion on the subject so I thought I'd share mine. The funny thing about this topic is that to some extent it can really be answered in one sentence - It depends on what your training goals are.
If you are a powerlifter or training for the Strongman competition then doing push ups isn't really going to help you much. On the other hand, if you are training for a military physical fitness test, doing heavy squats won't do much to improve your scores. Of the three methods, kettlebell training is probably the most versatile in that both a powerlifter and a military guy could use them and get really good results in their respective fitness tests. The reason for this is that weightlefting and bodyweight training generally fall on opposite ends of the muscle usage spectrum, while kettlebell training falls somewhere in the healthy middle.
Weightlifting will train maximum strength more, while bodyweight training will train muscular endurance more. You can of course do high rep weightlifting to develop muscular endurance or handstand push ups (for example) to increase maximum strength, but most people don't use these types of training for those reasons. As mentioned, kettlebells are definitely the most versatile because they do a great job at developing both sides of the muscle usage spectrum.
If you don't have very specific muscle usage requirements like the powerlifting or military examples, I would honestly say that the best thing to do is to incorporate all 3 types of training into your workouts. It'll keep your training fresh so you won't get bored and you'll train your muscles (and your nervous system) to respond to a wide variety of stimuli.
Personally, from the age of 15 to about 21 I swore by the iron. Back then we hadn't even heard of kettlebells and bodyweight training was limited to plyometrics. I was all about squatting, benching, deadlifts, etc. My senior year of high school I was able to leg press over a ton, could do 10 dips with two 45lb plates attached to me, and I used 120lb dumbbells in each hand to do chest presses. I loved it but looking back I realize that it left me open to injury and created a lot of muscle imbalances.
These days, though I still hit the weights, it is primarily to increase my strength in the main compound lifts - bench, squat, clean and press and deadlift. I always stay under 7 reps on bench and I rarely find myself doing cleans with the barbell anymore because I get enough clean work in with kettlebells - same goes for squats.
I would say my workouts now are 75% bodyweight, 15% kettlebell and 10% weightlifting. I love bodyweight training because it makes me physically feel better. I feel strong, fit, and most important to me personally - balanced. I think by nature, bodyweight training makes it very hard to have muscle imbalances because almost no bodyweight exercise is an isolated movement. Your nervous system has to recruit a wide variety of muscles to get you to move your body around in all kinds of ways. I also don't feel like a heavy, inflated balloon all the time. Some people love that feeling - I know because I used to love it - but now feeling like that would make me feel slow, less agile and out of shape.
Like I said, I used to be able to leg press over a ton but I also would have struggled with running 3 miles. Now I can do that with ease. I also think that the strength from bodyweight training translates over to weightlifting much better than the other way around. A guy that can do 10 free standing, handstand push ups will be able to put up some good weight on the military press but a guy with a strong military press won't necessarily be able to do even one handstand push up. Another advantage to bodyweight training is that I can get a workout in anytime, anywhere. I don't need any equipment and I can progress the difficulty of the movement simply by changing angles.
I love kettlebells too but I feel like overall I have the most fun with bodyweight training and that is perhaps the best answer of all to the question in the title - the best form of training is the one that you personally enjoy doing the most. If you don't like doing something then it becomes a task. Your training should be fun so pick one of the methods or pick all three and get to it!
I am a Certified Personal Trainer through the National Academy of Sports Medicine (NASM). I have approximately 15 years of fitness / exercise experience with a wide range of knowledge on different types of training.
