Because they ain't really Catholic. To be Catholic is to be in communion with Catholic church. It is OK to not be in communion if you wish but you should drop the name "Catholic" if you want to be honest. That is where Protestant comes from. Protesting the beliefs they disagree with.
As a long time atheist, turned Protestant, and in the middle of conversion to Catholicism, who grew up in a largely "Catholic" area on the east coast, let me say that the Church is in part to blame for this problem. There are endless numbers of people who go through the motions of getting confirmed, and even getting married in the Church, who otherwise have nothing to do with it. I know, they were all my friends from childhood until now.
One of my best friends will say that he is Catholic (becauase his parents were, and he was confirmed) but hasn't been to confession since he was a kid and will say that he doesn't even think that he believes in God. Catholicism has been passed down somewhat as a cultural rather than an actual relgious distinction in many communities. The result is tons of people who go around calling themselves Catholic even though they aren't really any such thing.
The Church has done nothing really to go against this. After all, the Church wants the kids to go to Sunday School, be confirmed, etc.
It also doesn't help of course that many Priests don't seem to want to reinforce church teachings. When I was the best man in the wedding of the best friend mentioned above, at the rehersal the Priest said when it would be my turn (after the bride and groom) to take communion. I said that I wasn't Catholic. He said "Oh, it doesn't matter". I said, well, I won't take it, and didn't.
Sorry for the rambling post, just wanted to get some thoughts on the matter out there.