There are several reasons... namely immunosuppressive tumor microenvironment which inhibits the activity of cytotoxic T and NK cells, and the other is immune cells cannot invade (homing) to the deep of tumor which is very hypoxic and acidic in nature (where stem cells exist).
All laboratory data reveal that immune cells developed properly against the epitopes on cancer cells can kill the cancer cells. Problems remain that cancer cells are a bunch od very smart cell type of cells. If and when they sense any danger, quickly they mutate and change their surface epitopes such that the immune cells cannot kill them any more
The moment a cell assumes the properties of a cancer stem cell or full-fledged cancer cell,it also achieve several properties along with that protects it from the attack of immune cells of the body. Among these are specific cell membrane cover that does not allow the body's immune cells to recognize the tumor cells as 'foreign', cell surface negativity of an increasing order on cancer cells may repel the immune cells having negative charges, mimicking the cell membrane as that of normal cells may be a mechanism that cancer cells develop at least initially until it assumes certain mass when it comes under the law of mass action phenomena and cancer cells thrive because of the balance in its favour.