Does any of them allow you to add as a favorite trail to remember for later and upload existing maps to use to navigate around?
If you have a track and / or waypoints saved as a .kml or .kmz file, most good GPS apps will let you open and display that data on top of the map. It's really handy, especially if the trail isn't marked on the map. I've done it in both apps I've used. If you check the Youtube channels of Backcountry Navigator or GPS Essentials, they will show you how to do it.
Mind you, if I were to recommend one over the other, I'd say use Backcountry Navigator mainly because (like olram30 mentioned) there are more map sources available from within the program that are useful, and it's much easier to cache them for offline use from within the app. You basically choose the map source you want, select the area you want to cache, and hit save.
With GPS Essentials, the only map sources within the app I found useful was Google satellite and topo views, but they couldn't be cached and you can only use them when you have a signal. The only really useful way to add maps to it was to use Google Earth, paste in a high res map image (basically a digital copy of what a good map store would print out for you) align the corners of the image to their correct coordinates, save that as a .kml or .kmz, transfer it to the phone, and open it in the app. It's good if you have a very specific map you want to use (I used it for range and training area maps at work), but it's a lot of extra work just for the topo. That's why I ended up switching to Backcountry Navigator.