I went with a rack instead of a cap for many reasons. Here are a few:
I use my truck primarily for overlanding in the desert. I need a Baja chase rack with tent rails. I need to be able to get at things like propane, CO2, shovel, sledge, jack, gas, etc.. in the bed from the sides. I don’t want to go though a window in a cap. I don’t want to crawl into a cave either.
I also need a secure place and way to store this gear where so it’s ready when I need it. Critical gear can’t be packed away in the back of a cap. I want quick easy access.
My rack doesn’t rest on the sides of the bed or bed rails. It’s bolted to the bed itself. This transfers the weight of the load to a lower point. I can say from experience with both types of setup, bolted to the bed handles (corners) significantly better. In my case this is an important difference.
Clamps on the bed rails are not for me. I camp in the desert and like to take washboard at speed. The vibration can be intense. In my experience this is very bad for clamps. Most caps are clamped to the rails and I don’t want to worry about my cap and tent sliding off.
I don’t like the idea of a significant load applied to the sides of the bed over time.
Sleeping on an air mattress in the bed won’t work for me so there’s no advantage to sleeping under a bed cap.
My rack wasn’t cheap and it’s custom made. Still, I bet it cost less than a brand name new cap with similar capabilities.
It’s also likely stronger and overall lighter than a cap. It’s steel so maybe the weight is a toss-up. It’s definitely stronger.
It’s all about what suits your needs the best. For me, this works way better than a cap ever would.