Here's what I mean about best quality/size balance. This is a bit oversimplified, but it gives the basic idea.
When using CQ, a frame that needs 10 bits will get 10 bits. A frame that needs 30 bits will get 30 bits.
When using CBR at 20, the frame that needs 10 will still get 20, thus bloating file size. And the frame that needs 30 also gets 20, thus reducing quality.
VBR at 20 is a little better. The frame that needs 10 will get 10, so no file bloat. But the frame that needs 30 will only get 20, thus reducing quality.
CQ offers best balance with a single pass encode.