To get back to the original topic - Cancers and understanding them...
I'm a Taurus with a Cancer moon and my partner is a Cancer with a capital C (he has a stellium - that means 4 or more planets in the same sign - in Cancer AND in the 4th house, which is the traditional Cancer house - his sun, moon, Mercury and Pluto). He certainly has his times when he goes into his shell. I had to learn not to take his moods too personally and to avoid having his mood swings drive us into HIGH DRAMA (I do have a Cancer moon myself - so it's not a one-way deal).
As a result of me being able to accept him more as he is, he doesn't seem to need to go into his shell as much. He still has his mood swings and if he needs some down time or alone time he just tells me (instead of creating dramas as a way to chase me away).
The best remedies: a walk through the park or gardens (he LOVES flowers), music - not just to listen, but to sing or play himself (not for seriousness - but for FUN). I gave him a harmonica for his birthday. He's a businessman and has never played a musical instrument, but he loves it and picks it up and wails away on it - no one taught him how, but I enjoy listening and am amazed at what comes out NATURALLY. I think the key is that it is something he doesn't have to take too seriously and he feels comfortable enough with me so he's not worried about making a fool of himself.
I think the key is to create an atmosphere where Cancer can feel safe enough to just be him or her self NATURALLY.