The way I see it, you either need a good compass, or you don't need a compass much at all. If you need a compass, you'd be wanting to triangulate your position on maps, site bearings, etc. You won't be doing that with a cellphone program, or even with a button compass. I think putting all your eggs in one basket with a cellphone, or ANY electronic device, to save pocket space is terribly foolish.

I can see a button compass useful in some situations, none of which generally apply to my routine hiking areas (in the mountains). If you were in deep woods (flat land), or maybe in a desert it would be nice to not go in circles and a semi-accurate button compass may assist in that. In the mountains your heading is determined more by the terrain you can navigate than by a specific bearing.

Personally, I always carry a good, fullsize compass and topo maps. Every hike finds me triangulating my positions, identifying landmarks using a sited bearing and the maps, etc. Not because I need this for navigation usually, more just to keep my skills tuned up for when an emergency may mandate pre-mastery of these skills.