I've become convinced that cancer is among the elite series of diseases that are,
in many cases, just how people die, meaning that perhaps in many instances the medical
term for "dying" is "cancer".
There is a variety of reasons those bugs can come up: for example, the codebase could have a pre-existing weakness that gets triggered in certain conditions. Sometimes, the code was copied incorrectly from one cell to its successor. Sometimes an external influence corrupts the local copy of the code.
When cellular code develops a bug, there are a number of things that can happen: sometimes, the cell just becomes bad or inefficient at what it does. Sometimes it shuts down. Sometimes, nothing happens. And other times the bug introduces an infinite loop in the cell's replication subroutines - that's cancer.
You see, cancer is neither a medical catchall term nor is it an inevitability of life. In fact, our immune system regularly attacks crashed cells, including cancer cells. If it didn't we'd all be having cancer at a very early age. However, sometimes due to the nature of the bug, the immune system is incapable of recognizing that a cell has crashed. That's when cancer breaks out, because those cells replicate and the immune system doesn't stop them. This is also precisely the point where the most promising treatment options are. We are just now figuring out how to teach the immune system to recognize those crashed cells and once we advance this research enough, we'll have the capability to simply correct these flaws in our systems and get rid of the bug completely.
I once read the supposed confession of a medical research assistant that "cancer"
as a general thing is not curable but they keep the myth alive because "cure cancer"
makes a really decent slogan.
EDIT: After re-reading my post, I realize that it could be perceived as condescending - but I assure you, it's not supposed to be. It's just intended as a short programmer-friendly introduction into the nature of cancer.