Variable bit rate (VBR) is complex. You still set a value in the Bit Rate field, but the camera only treats it as a maximum (e.g. set it to 6 Mbps and the camera will try to never exceed 6 Mbps at any given time). The camera is free to encode below your bit rate setting if it thinks it can achieve your desired quality with a lower bit rate. Like, when nothing is moving it might encode at 2 Mbps, and then if a vehicle drives through your scene it might increase temporarily to 6 Mbps to maintain good image quality. To achieve the same quality with constant bit rate encoding (CBR), the camera would have to encode at 6 Mbps at all times. So with careful tuning, VBR can result in data savings without any noticeable quality loss.
However in my experience, sometimes the VBR logic limits the quality more than you want. With my Dahua 4MP cameras, I can enable VBR at its maximum quality level, with the Bit Rate field maxed out, and it still encodes a cruddy looking image (at a low bit rate like 2 Mbps or less). So with those Dahua cameras, I changed to CBR encoding and got a huge quality boost at the cost of higher data usage. In my testing, Hikvision cameras were better at this, but in the end I chose to use CBR encoding on them too just because storage space is not a concern for me. I have room for years of motion recordings on my server.