Perfect timing for this question, I've been getting a lot of practical experience with this subject lately. Bondo is noxious stuff, it's made from polyester resin which is just toxic. Don't use it indoors and even if outdoors wear a respirator.
Bondo spot putty is lacquer-based and also noxious. Spread it only in very thin layers and don't try to build up anything with it. I am told it shrinks over time so I no longer use it.
Master modeler Dave Meriman says never use "hobby" putties but intead use Evercoat 2-part epoxy filler for large gaps and structural work. You can get this at auto body supply shops and it comes in two varieties -- EuroSoft and SpotLite. One is harder to sand than the other. Be sure to wear a respirator and don't breathe the fumes or the dust when sanding (better to wet sand).
You can get more info at
http://www.CultTVMan.com and look for Dave's scratchbuilding articles (AWESOME info BTW.).
Once you have the surface roughly in shape, finish it off with NitroStan lacquer-based touch-up putty. I couldn't get this locally but my friend Will Babington recommended PPG DFL1 putty from an auto body supply and, let me tell you, this stuff is awesome.
Like Bondo spot putty, it's an air-dry, lacquer-based material (no mixing). It's the consistency of a tube paint (oil or acrylic) and can be wiped on. I put masking tape down either side of the seam (this stuff makes a mess) then wipe it on with a small piece of paper towel. Wait a few minutes then carefully peel off the tape. Let it dry for several hours and then wet sand (DON'T breath the dust from this stuff or it will damage your lungs permanently.). Repeat to build up more layers as needed, though for me two passes usually gives me a surface ready for primer.
So, bottom line: To fill gaps and fix problems, use Evercoat 2-part epoxy. When that is done, go over this with NitroStan or DFL1 spot putty. Then prime, then paint.
HTH. . .