Any external antenna is better than no one and just like a lot of things bigger is better.
I run two different size antennas ... short for around town and bigger when I'm out in the desert. I keep the big antenna under the rear seat, it just fits between the rear doors.
I'm driving a Jeep Wrangler now and with it's fiberglass rear structure the antenna isn't as blocked as on my Xterra. The Jeep's around town antenna is level with the roof. The one for out in the desert is a good foot taller putting the load coil up above the level of the roof and giving me more range. That said, it's a 5 watt CB radio that transmits in the HF band.
Far far FAR better is to get an amateur radio license and enjoy a nice 50-85 watt 2-meter radio where smaller antennas are better performing than the largest CB radio antennas.
Paul
KG6OAZ