The role of antibodies interacting with cancer
This article on the University of Kentucky website is pretty good, it seems the cancer cells hide because they do not express CD80, a co-stimulating molecule. Co-stimulating molecules are often necessary for an effective immune response.

This is a big part of the article and I think they do a good job of explaining it so I'll just quote:


  "People once thought that cancer occurred because of a weakness in the
  body's immune system," says Yannelli, "but we have known for years
  that overall that is not the case. The immune system in cancer
  patients actually works quite well. Otherwise, they could not survive
  the disease for long periods of time nor could they fight off other
  viruses, which they routinely do. The problem is not that the immune
  system doesn't work; it is that the immune system doesn't recognize
  the tumor."
  
  According to Yannelli, for the body's defense system to work properly,
  key antigens must be presented in a specific way to lymphocytes, the
  cellular mediators of the immune system, which then kill the cancerous
  cells. Normally, antigens are tipped off by co-stimulating molecules.
  When the co-stimulating molecules are not present, the immune system
  does not "see" the cancer cell, and therefore does not act to destroy
  it.
  
  Scientists have discovered that lymphocytes have very narrow job
  descriptions, each one designed to attack only a specific molecule.
  The researchers have also discovered a wide range of co-stimulating
  molecules. A critical co-simulating molecule is CD80. Because cancer
  cells do not express CD80, they are invisible to the lymphocytes
  responsible for destroying them.


This paper has more on the function and mechanism of CD80.

Thanks to @Nico for pointing out that not all cancers are the same so the generalization discussed in this answer may not be true of all cancers.