There are lots of bedliner variants available. The "real deal" heavy duty stuff is a urethane-urea mix that is very durable. Most of the rattle can stuff I have seen (and used) I believe were urethane-rubber. I did several coats of the rattle can mix in my rear wheel wells as well as coating the inside of my house battery box. Seems to hold up pretty well. But I have been "told" that you should NOT use it directly on bare metal. Supposedly the urethane reacts with and oxidizes raw steel so I threw a coat of self etching primer and some implement paint (John Deere Blitz Black) on first.
Anyone else know more about this?