I've had 3 types of bed liners. The first truck was the thick rubber mat on the truck bed. Worked OK, but constantly needed to remove it to clean under it. Also, didn't let water evaporate very well, seemed to always trap moisture in spite of the bed having raised ridges.
Second truck had a bed liner plastic type insert. This worked pretty well. It came with the truck (used) and it was never removed. It didn't crack or anything. It worked well also. But I did notice occasionally, a bed liner insert along the edge of the interstate, which made me wonder if they were prone to blow out of the bed of the truck if not inserted securely. I had a truck cap, so it would never come out.
Third truck, I got an after market spray in bed liner. By far, this IS the best choice. Because it's bonded to the metal of the truck (like paint), it doesn't have any chance of blowing out in high wind, water getting trapped under it, or anything.
If I had to do it again, I'd get a factory installed spray-in bed liner. The aftermarket spray-in has been very good. No chipping, cracking, or anything. I do keep a sheet of plywood on the floor. Not to protect the floor, it's just, those ridges on the floor with that rough spray on stuff is extremely hard on the knees. Besides, I can slide that sheet of plywood in and out and anything on top of it is easier to reach. It works like a sliding drawer. I also have a shell on this truck.
My vote for the factory installed spray in version, without any question.