I have tried rattle can rustoleum, POR-15 before starting to powdercoat stuff. The spray-on paint lets the rust in pretty soon. POR-15 topcoat peels off after a year, then the base starts turning from black to grey in an uneven fashion. Then the POR-15 peels off in strips or sheets. This is even without any scratches in the finish
I haven't done bedliner, but everybody says UV changes the color over time. Plus the DIY stuff reportedly doesn't hang on as well. So if you need professional application you're not really touching it up yourself anyway. And I would hate have to go back and weld on something coated in polyurethane. Not to mention trying to keep mud stains out of it.
Powdercoat can be textured, that's how my bumpers and sliders are. It's a much safer surface to step on than factory chrome, I can tell you that much. You can touch up small scratches with oil paint, but after enough abuse you would need to get it at least partially recoated. But it would outlast several paint jobs.
If you want to use paint - use real automotive paint. Rattle can would only work if a) you live in the desert and b) you think it's fun to repaint every year.
Whatever you decide, get it done when the steel is new. If it already has rust, get it well blasted and then pretreat before the finish. Powdercoaters now have protective pre-treatment that lets snowplows hold up in the salt.