For snorkeling at CocoCay (guessing based on the $40 charge), if you have your own equipment, you don't have to pay the $40.
Also, there is no requirement to do excursions. If you aren't certain what you want to do, you can wait until you get on the ship and even to the port to book. You can just get off the ship in Nassau and get a taxi to a beach if you want.
Here's one site
http://www.shoretrips.com/ where you can book excursions independently of the cruiseline and you may find cheaper or different options. Another option is to go to
www.cruisecritic.com, go to the Boards, go to the Ports of Call section, and then to Nassau and you should find recommendations for excursions to take (or avoid), suggestions for private operators that may be cheaper, etc. You might also find a recommendation for a couple massage somewhere off the ship.
As to spa services onboard the ship, yes they are expensive. When you get onboard though, they may be running some specials so watch your Compass and the flyers that get put on your bed each night.