If parts are cheap and labor is expensive (as is usually the case), or if the force which the fasteners are withstanding is fairly high, I would suggest a bolt/washer/lockwasher/nut assembly. The washer distributes the force over a wider area on the surface (sparing the part) and the lockwasher keeps the nut from unthreading due to vibrations. There are two advantages to this setup:
1. If the thread strips on either the bolt or the nut, you can change those rather than drilling out the threaded hole and retapping it or resorting to expensive helical inserts.
2. You can use stronger fasteners than the base material, assuming relatively small shear forces or enough distance from the bolt to the next component or the edge of the plate (so that the plate can withstand the shear forces).
Where I work, we usually use threaded holes only where there is only enough space on the other side for a low-profile nut (which, with a threaded hole, can act as a locknut), or not enough space for anything at all.