When painting metal a primer is needed to help the paint adhere. Paint won't bond to bare metal very well without a primer. It also acts as a sealant and helps smooth the surface. Or at least that's what I remember from back when I worked on cars a long time ago.
These are the steps I remember from when I last painted a car (well, I prepped it and had someone else actually shoot the paint).
Clean the surface thoroughly without leaving a residue.
Wet sand to a smooth surface (fine grit paper, change direction a lot).
Apply primer.
Sand dried primer with even finer sand paper.
Repeat last step if needed.
Pay some dude who knows what he's doing to shoot the paint.
That's the right way to do it. Or you can be like my wife, who wonders why two years after she painted the patio furniture black with Rustoleum, there are a hundred places where the old green paint is showing through. I think the only prep work she did was to knock the dirt off with a swipe of a rag.
To answer the second half of your question, I think you should apply paint over the primer. Paint is more durable and provides better protection that primer will by itself.