Yes, I love Cozumel. It is a very pleasant island with nice people and fun things to do. You really can feel safe there. There are many nice beaches on Cozumel. Nothing you can walk to that I'd recommend, but the taxi fares are very reasonable. Look HERE
for a good beach guide. I like Playa Sol. Mr. Sanchos and Paradise Beach are also highly rated. Playa Sol usually has a pinata event for the kids. They swing at it with a club to beat it open and get candy. Playa Sol has spotlessly clean restrooms and a nice restaurant. They also have many shops for souvenirs. There are always taxis waiting to take you back to the ship.
Better yet for the kids - spend the money and let them do a dolphin swim at Chankanaab Park. Chankanaab is also a great place but the beach has lots of rocks between it and the water. Playa Sol is more like a traditional beach.
You'll have to check your particular cruise to see if they will offer a tour to Xcaret. I do not advise doing this on your own from Cozumel...only if you can book it via the cruise line. Frankly Xcaret has never impressed me and I've been there three times just to make sure. It is big, and it has lots of stuff, but personally I wouldn't waste my time going there from Cozumel.