Being rather a small island the number of activities are more limited than on the other main island of Vietnam, though it still can keep you busy for a few days.
One of the main attraction are the beaches of the island. The main one, Bai Chong beach, is certainly beautiful and is a great place to relax, enjoying the sun and going for a swim. The ability to have food and drinks served is another benefit. It is definitely worth a visit.
Also a visit to Bai Lang village is very interesting. From Bai Chong beach you can either take one of the little boats or use the little road, that follows the coastline. Bai Lang is a little fishing village, with a few places for food or coffee. You can observe the local life – men returning with their fishing boats, kids playing in the water or on the beach. It has a very untouristy feel to it (except when a boat load of tourists arrive for a short visit…). In addition for walking along the sea front it is worthwhile to follow the road pass the pier – you see some nice buildings as well as the local football pitch. Overall if you visit the island and you have the time, include a short visit to the village (or stay overnight there).
However, the main reason why many tourists head to Cham Island is the diving and snorkelling. The visibility and the corals might not be as good as the Red Sea, but it is nonetheless a nice area to explore underwater world. Here is a link to my diving experience there.
Overall, a visit to Cham Islands offer you a chance to relax on the beach, experience some rural fishing village or explore the beautiful underwater world.