For iOS, and offline maps globally, I've been using the Pro version of CityMaps2Go from Ulmon. This app uses the Open Street Maps, Pro version gives me unlimited map downloads.
Beware, map annotations tend to be in local language, local script. E.G. in Veliko Turnovo, not only were the street names in Bulgarian (rather than English language equivalents) they were also in Cyrillic. But that's the maps, not the app. And it is not a problem in Kansas.
I've bought a few city-specific apps from Ulmon as well, when I'm going to be in a place for a while. Still using maps from the OSM project, most of these, where available, add extensive POI and directory information.
If I have a connection, which is most of the time on the iPhone, I just use Apple's Maps app, or Google Maps. Which one works better depends on where I am, as both may have map and POI quality issues locally.
Most of the time I am using the maps app to understand where I am, occasionally to find something I need (restaurant, motel) nearby, and how to get there.
Can't recommend any map app as a trip planner or general navigation tool.