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