OruxMaps is a comprehensive mapping and GPS application that also happens to be completely free, although if you use it a lot the author asks you to donate to help fund its development. The app is designed to act as a complete replacement for a traditional handheld GPS receiver. It allows you to use downloaded maps as well as online maps, so you don’t always have to have a net connection available in order to pin-point your location.
You can also load in GPS tracks with waypoints in standard GPX format, which is handy for mountain bikers or runners who want to be able to follow tracks that other people have created. There's an online manual available to help you get started, but be warned it's not all that easy to follow for beginners. Nevertheless, it's worth preserving because OruxMaps really does offer a lot of powerful features.
OruzMaps is definitely worth checking out if you're looking for a powerful Android GPS application.