Jie Liang,
Moses pointed out a lot of good stuff already. This is a very good question, and it is very popular these days. Unfortunately, there are people out there will be biased regarding one or the other (body weight or weight lifting).
I just wanted to make sure there is accurate information and share some thoughts regarding what I do for a living, and what I've been doing for the past 10 years as a passion of mine - GetFitChimp - Body Weight Exercises (mostly).
Which is better?
It all depends. I mean to gain absolute strength and continue to put on muscle mass, you have to follow the progressive overload principle. Moses is right when he said that it is much easier to progress weights when it comes to progressive overload comparing to body weight.
However, there are ways you can progress (resistance) with only body weight. For example, a beginner may start out with 3 sets of 15 reps with the regular push-up. He then can progress towards 3 sets of 15 reps with the single leg push-up, then towards plyo push-up, single leg plyo push-up, side to side plyo push-up and chair dip for examples to continue to follow the progressive overload principle.
Again, it may not be the exact formula when comparing with weight lifting (bench press for example). However, I've been training many high level athletes and gymnasts using this formula for all of their body weight exercises. More with gymnasts in a little bit.
Body weight and getting shredded
Unfortunately, the answer again is depending on the way you train, your diet and your genetics. For example, you can train with super heavy weights, but only training at 50% of your max in addition to eating poorly, then you probably will not get shredded.
However, if you train hard using body weight only at a very high level (most gymnasts), and you eat good in addition to good genetics, then you will be shredded. Just look at the Olympic Gymnasts - purely body weight exercises!
I want to get shredded and gain strength at the same time!
Well, the truth is that you can gain absolute strength and get shredded at the same time. Just look at some of the running backs, linebackers, sprinters and of course wide receivers and cornerbacks in the NFL. They are all shredded and very strong at the same time, especially the running backs and the linebackers.
Now, you may be surprised, but body weight exercises like chin-ups, diamond push-ups and chair dips are very effective exercises for targeting the shoulders, biceps and triceps (gymnasts). And surprisingly, one the most effective body weight exercises to target your abs is sprinting.
In short, you can and should perform both weight lifting exercises and body weight exercises for a fun, effective and efficient workout each time. And if your goals are to gain strength and get shredded, make sure you do these things:
- Lift heavy (4-8 reps) - squats, benches, chin-ups, clean and presses, deadlifts, bent over rows, etc.
- Eat clean and eat well throughout the day (every 2-3 hours) - lots of good calories (proteins, good fats and carbs) - lean meats and fruits and vegetables (avocados, peanut butter, fish, chicken breast, whole eggs, etc.)
- Stay away from sugary snacks and drinks - regular milk, sodas, juices, sweet snacks, etc.
- Drink plenty of water throughout the day.
- Try high intensity interval training (HIIT).
Hope this helps, and take Moses advice as he already gave you plenty there.