Cancer presents one of the largest problems in our modern society. Understanding even the smallest aspect of this disease is immensely challenging due to its heterogeneous nature, a characteristic we term the 'same-same but different' nature of cancer. Heterogeneity can exist across tumour types depending on what stage the tumour is at or what organ the tumour exists in. There are many contributing factors that can be affected by differences between cancers, e.g.: tumour growth rate, tumour cell S-phase length, vascularisation and many more. The effects of these differences on the outcome of cancer therapies are still not fully understood and present a hurdle to modern cancer therapies. To add to the complexity of this problem, within tumours themselves, there is an array of 'same-same but different' characteristics that tumours can have, such as structure, pressure and anti-viral immune responses. Using mathematical modelling, we investigate the effect of tumour heterogeneity on the outcome of virotherapy and immunotherapy. Using distributed delay models and agent-based modelling we unravel the layers of tumour heterogeneity and answer two key questions "why does heterogeneity within a tumour derail immunotherapy?" and "how can we overcome this obstacle?" Optimisation of current experimental data helps us tie down parameter values and suggest with some level of confidence how treatments, such as immunotherapy, can be improved to overcome the challenges presented by dissimilarities within and across tumour types.