Google has a newish feature in Google Maps that enables you to select just about any reasonably small area (say, a city or county) and download everything for offline use. By everything, I mean turn-by-turn directions, business info, small streets -- the works.
This is great for nomads, who often find ourselves needing the use of Google Maps offline.
However, Google Maps didn't let me do this for Cuba. I assume that Cuban restrictions or pressure somehow prevented Google from offering this feature for Cuba.
However, even offline and with location turned on, Google Maps shows me my current location against a map of any Cuban place. There are no turn-by-turn directions, and the detail isn't 100%. But it's super useful for not getting lost.