Basically everyone should enable Command Polling. How frequently to poll is a matter of some debate, and generally the answers fall between one to four hours.
In a default installation, the BES Client will check its upstream relay/server every 24 hours for updated content. That’s when it will find new Actions to run, as well as new Fixlets and Analyses to evaluate.
Checking only once a day is far too much delay for most deployments, so the client can also be “informed” by its upstream relay every time there is a change in content, pretty close to immediately. That is done by the upstream relay sending a UDP message to the client to inform the client that there is something new.
However, if anything is blocking the UDP message from the relay to the client, the client won’t be informed of the new content and falls back to gathering new content once per day. It’s common for a network firewall, host-based firewall, or NAT-translating router to prevent these UDP messages from getting through.
In short - when the UDP is blocked, Command Polling is essential to keeping the client current and responding more quickly to new content and taking new actions. And as long as you don’t tune the command polling interval too low (say, no more frequently than once per hour), you aren’t going to cause much workload increase on your relays.