It's not a trade-off of power or flexibility as much as it is a difference in priorities. Git puts all of the powerful -- and potentially dangerous -- tools front and center (history editing, to name a big one), whereas Mercurial supports all of the same functionality, but hides away some of the more dangerous tools until you're ready to enable them.