Changing the number of heads changes the number of learnable parameters.  If you have more heads, training will take longer.  This is definitely true. The next bit is more of an opinion.
When you have several heads per layer the heads are independent of each other. This means that the model can learn different patterns with each head.  For example, one head might pay most attention to the next word in each sentence, and another head might pay attention to how nouns and adjectives combine.
Having several heads per layer is similar to having several kernels in convolution.
Having several heads per layer allows one model to try out several pathways at once.   It often turns out that some of the heads are not doing anything useful, but that’s OK because the later layers can learn to ignore the un-useful heads.
It is possible to train a model with lots of heads and then cut some of them away.  This is called pruning.  Note that some researchers prune away whole heads, and other researchers prune away the least useful weights within a head.  I believe you can prune a model either after pre-training or after fine-tuning.
If you want to look at what patterns each individual head is learning, I recommend a visualisation tool called Bertviz by Jesse Vig.  (Note that this only works for pytorch, not in Tensorflow)