I agree it depends on your child. DS was 7 when we did this excursion. He is fearless, not afraid to touch animals and is a great swimmer so he enjoyed it. He swims with a mask often and has used the mouthpiece before just playing in the pool, so had no problems snorkeling. The stingrays did not come at us while snorkeling, they were all in the sand.
DD was too young at the time so we didn't bring her, but even now I would not. She is a timid child, frightens easily, and even though she swims well, she does not like her head/face to go underwater. She wouldn't do well with either part, so I know this would not be the best excursion for her. I did see a couple of children waiting on the beach with one parent during the snorkeling portion and they seemed pretty content playing in the sand and shallow water, so if your child doesn't do well snorkeling they do have a place to go. You could alternate adults so each of you has time in the water. And even without the snorkeling, just feeding the stingrays was fun enough in itself.