I think what is best depends on location. The starting point always needs to be solid steel.

For the frame, best is full sand blast, epoxy primer and paint. I did not do that on my truck... next best is clean thoroughly, rust stop primer and paint. For this to work, first de-grease thoroughly. Solvent on rough spots, strong detergent, pressure wash, repeat. Then get off loose rust and paint. I used a needle peen gun and picks in tight places. Then prime. I like either red Rustoleum or Eastwood rust encapsulator. Then paint with satin black Rustoleum.

For door cavities and other hidden spaces, clean as above, prime and apply waxy rustproof. I like the Eastwood stuff.

For the bed inside, get the rust cleaned off, prime with epoxy and paint works well... or bedliner of your choice after primer. I spent better than a day with stout angle grinder and wire wheel cleaning my bed insides. Dust mask needed.

For the bed underside, treat similar to the frame... except no needle peen gun. Strip to steel, prime, paint.