They use convertible Cuban pesos ( a currency only for tourists). Best thing is to take cash and credit card. Take anything except US dollars. Canadian dollars, euros or pounds, which the hotels will change for you. They convert your visa payment into US and then back again to make a bit of cash, so only use it for tour payments, or anything that requires a large payment over 4 years ago
Using ATM's in Cuba is VERY expensive! It cost us $16 once and $24 another time in bank fees! Not including the fees from our bank in Oz!
We took Mexican pesos but ran out a week before we left. You need enough cash for your whole trip. We heard that there is a 10% surcharge if you exchange US dollars, but to be honest we didn't see that happening. Your best bet is to take Mexican Pesos or Euros.
There are two currencies in Cuba one for tourists CUC's, and one for locals CUP's. You will mainly use the CUC's but you may buy some things in CUP's so it is handy to have some that you might get in change if you buy an ice cream for example.
We exchanged a small amount of our money at the airport when we first arrived and the rest in town in batches. The airport had fairly good rates in the end, but we were not too sure.
We found Cuba to be the safest place we have ever been - so our initial paranoia wore off very quickly. about 4 years ago