I get that VBR is best for constant quality encoding, and CBR is for things link encrypted communication, but what about CVBR? For which applications is CVBR the best option? When is it viable to use?
CVBR can be useful for real-time communication and streaming. It means that the rate is almost constant, but can have short variations as long as they're compensated by opposite variations soon after. In some way, CVBR in Opus is equivalent to what MPEG codecs call CBR (with bit reservoir).