I've done half a dozen steel frames and have found the most cost effective results come from:
rubbing down rust spots, then
using primer coat all over, then
brush coating the tubes, then
spraying the joints, drop outs, bosses and BB (i.e. the fiddly areas!) then
spray coating the tubes to unify the finish
Rust is generally worst at downtube, BB and around any cable housing lugs on the top tube and needs to be removed. It spreads in quite predictable ways from a rust spot, so you can find the edges of a rust patch. It's rarely necessary to remove all of the factory paint from a frame, as long as the metal is rust-free and any factory paintwork is sanded to give a key for the next coat.
I'd suggest choosing a similar colour
to the factory paint. That way any chips show up less. In addition to this, I've found that dark colours require fewer coats than light ones.
The advantage of brush painting
the tubes is less waste, since as MickF says upthread, a frame tube is a small target for a spraycan, and more paints misses than hits. The advantage of spraying the joints and the fiddly areas is the time savings. Choose brush paints and spray paints that are compatible, i.e. paints that don't react with each other. Test for compatibility before starting.
With almost all paints, the longer you leave it between coats
, the tougher the paint. This however means you need a spare bike to ride while you're working on a frame. At each stage, the most recent coat needs to cure hard before the next one is applied.
I've found it convenient to hang the frame
from a washing line for the painting, with somewhere else to store it while the individual coats are curing.
Meticulous cleanliness helps to avoid the paint flaking or peeling off. This means avoiding touching a paintable surface with fingers and/or cleaning
the surface with a dry paint brush before laying down a coat.
As mentioned, retouching will need to be done sooner than with a factory paint job, though this was needed only on the top tube on my latest frame (where I used the method outlined above).
I've kept notes, mostly for myself as a record of what has worked. They can be read here