Using only free weights and a pull-up bar will work. But it doesn't mean it's the most effective way to body-build. You can write a program from scratch in C to perform an task, or you could use all of the tools of your disposal to far more e f f e c t i v e l y complete the task, potentially without code. You don't need anything except a chalk board but there may be more effective ways to obtain the result you are looking for.
I have been working with a trainer for many years, and almost everything we do is with free weights and a bench. Free weights are much more difficult because you need to keep them stable. Machines trick you into thinking you are using more weight, but you are leveraging the machine. The only machines I like are leg press and cable machines that still make you keep stability.
A true bench press with a bar is much better than a machine imitation of the same muscle groups.
It's generally better to work out with free-weights because of the stabilization aspect, yes. Saying that Free weights are better flat-out is wrong in my opinion. Every piece of equipment in the gym is a tool if used effectively and at the right time. Your "core" program will be done with free-weights yes, the other equipment is great for auxiliary uses that compliment your program. Machines are great for end of workout sets because you're likely already fairly fatigued and form may be compromised. You can get that little extra by using machines to ensure perfect form while also safely adding that extra stimulation for the muscle groups being trained.