Are there common rules about the usage of verb-object compounds?
A single character verb like 吃, 学 and 说 are typically more general, which mean they generally contain more than one meaning and can create ambiguity if there's not enough context

Two characters verb like 吃饭, 学习, and 说话 are compound words. Compare to single character words, compound words express more specific meanings, which mean you can avoid confusion due to multiple meanings contained in most single character (they can even be interpreted as different word types like noun or adjective).

You can use either single character verb or compound words verb in a sentence as long as there's no ambiguity. 

More often than not, a single character verb cannot replace a compound words verb because it lack specificity. For example, 我要吃饭 (I have to/want to eat a meal- dinner or lunch) cannot be replaced with 我要吃 (I have to/ want to eat-- eat what?)

On the other hand, using compound word verb when a single character verb is sufficient is considered wordy or redundant.

Example:

殺這頭豬 (kill/ /murder / slaughter this pig) and 屠宰這頭豬 (slaughter this pig) basically mean the same thing. No one would think you meant 'murder this pig' when you say 殺這頭豬, therefore, there is no need to use the more specific term  屠宰