I've had 3 Chevy Dually long bed, crew cab one ton's in a row. The first (Used) came with a rubber mat bed liner. It was at least 3/4 inch thick and heavy. I heard of such mats blowing out of the bed, but this one never did. I never had water standing under the mat. The ridges on the floor of the bed allowed water to flow backwards or forwards and would drain out drain holes on one corner or another of the bed. The mat was touch and took a lot of abuse. It served well.
The second one ton we got (Used again) had a vinyl liner insert. It was well fit for the bed. Actually, it never came out of the bed when I owned the truck. And that liner was great. It took a lot of abuse also, which also saved the metal on my truck bed.
The third one ton I got, which is my current truck, came with no liner at all. We paid for an after market professionally done spray in bed liner. And that liner has also taken a lot of abuse. I kept a sheet of 3/4 inch plywood on the floor, only because those ridges on the floor and the texture of the spray in liner was extremely hard on knees.
Truck #2 and #2 both had a shell over the bed. Even though I never hauled stone or yard much, it did transport a lot of lumber and building materials. The shell on the 3rd truck was used exclusively for transporting our Canoe and all the equipment. Inside the bed of the truck, we carried all our heavy camping gear, like fire wood and the blue tote, and such.
Fast forward, we now have the 5er and had a 5er hitch installed in the bed. The shell went to another home and the canoe has been hanging in the garage ever since. But the 5er hitch went right over the sprayed on bed liner, and now that I'm carrying somewhat different cargo and the bed of the truck is exposed more since the shell was removed, the spray on bed liner has been great. There no worry about sliding things on the floor or something rolling around. The spray in liner has not chipped or cracked and remains looking good, even with a lot of use.
In my opinion, all 3 variations work well. But the secret is to get the rubber mat or the vinyl insert that actually fits the bed of your truck. In other words, get them 100% custom fit for your specific bed. But only you can decide which level of protection you want to give your bed.
Of the 3 however, the spray in has been the best. But it is harder to clean because of the very rough texture it has.
And fyi? If you don't tie things down in the bed of your truck, no matter what kind of mat or liner you have, it's going to move around, or worse ... fly out of the bed!