My experience in Cuba was to get out of the main tourist centres and hang with the locals, then they bring you to brilliant places.
I spent most of my time there in Trinidad. I stayed in a B&B (well that makes it sound posher than it was! someone's spare room), got salsa lessons every day and then we would dance with the tourists first at night and then off to some dark salsa night for the proper dancing after!
Also getting in with the locals means you can spend in cuban dollars and therefore effectively it is impossible to spend money at all, as everything is dirt cheap.