The biggest hurdle is that cancer cells move around within your body, alongside multiplying (even if you opt for chemotherapy: there’s a probability that’ll resist to the medicine or cause more harm than good). Also, Cancer cells aren’t foreign invaders like the viruses, bacteria, etc that make humans sick, rather they are the person’s own native cells that have “gone rogue” through mutation, making the process on finding a cure complicated.
If you really want to create a permanent universal cure: you will need to study and experiment literally every variation of cancer (it differs by individual too, as the treatment may work on one person but kill another: so the results are R&G to speak). This adds difficulity on creating a 100% antidote, as cancer is linked to a person’s own cells (the genetic code varies based on person, it remains a complete mystery if the treatment will work).
The goal of cancer treatments is killing the cancer cells but (ideally) leave many healthy cells as unharmed (if possible), that’s easier said than done. Most treatments affecting cancer cells are also going to readily affect a person’s healthy cells too (that in itself causes more pain than comfort they would rather die than suffer). Current treatments only provide a working solution, but there’s always a chance of resurgence post treatment.
Can Nanobots, mRNA or CRISPR guarantee a 100% cure with absolute zero resurgence on cancer: since how would you know if the patient’s body will reject it immediately (even if you knew the person’s blood type?). The true instigator of cancer is difficult to answer concretely apart from listing risk factors, since every human being in the world is different (from varying genetic code, health status, pre-existing conditions and etc).


Another reason is that cancer is made out of your own cells. There are not two distinct types of cells, yours and cancer. There are different kind of mutations in cells, and if cells get enough of bad mutations, they start to behave like cancer. If you kill too few cells, cancer survives. You kill too many and you kill enough of slightly mutated cells that behave normally that you kill the patient. If you kill just enough, you keep alive some of the cells that are close to cancer but not quite there yet. It’s easuer for them to become another cancer than for your average cell. And it’s much worse than that. The cancer cells are not all the same, they are very variable. And sone of them are resistant to treatment. While treating camcer, you kill the suceptible cells and give relative advantage to the resistant ones. So by treating cancer, you might be breeding more dangerous cancer versions that will be harder to treat later, if you keep some of the cells alive. And it’s very hard to kill all the dangerous cells without also killing the patient.