The causes and consequences of genetic heterogeneity in cancer evolution