Freeweights are always best. As you could tell, machines do some of the work for you. If you are looking to tighten and tone your muscles (lose inches) then do a light weight and lots of reps. For example, use a 5 pound weight and do 3 sets of 12 or 15 with about 30 seconds between reps. If you are looking to build muscle (bulking up) then do heavy weights and a few reps. For example, a 15 pound weight and 1 set of 12. The difference is in how you are working and tearing your muscles. So your friend is right, do a light weight freeweight and lots of reps. Remember when choosing a freeweight you want to work your muscle to fatigue. So by the time you are on the 10th rep (if doing a set of 12) it should be very difficult to lift the weight.
Hope this helps.