So recently, I've been checking out a lot of companies, speaking with their engineering teams and interviewing. The general stuff a CS senior would do.
As far as the older companies go, they use a wide array of revision control software.
Most of the newer startups I've spoken to use Mercurial though. Anybody know why? It seems like git is the more popular public choice, and I've heard engineers say "we use hg here, but if I had a choice, I'd use git." Why then are most startups using Mercurial?
The mercurial CLI is well thought out and easy to use vs git's incredible number of commands and command line options, and is also similar to SVN which probably helps get people up to speed. Generally with hg there's one right way to do things, but many with git.
As far as shooting yourself in the foot goes, git's ability to rewrite history is great for maintaining a clean revision history even after commits are made. Rebasing is quite handy for keeping multiple branches up to date and easy to merge. But these are power tools that can result a lot of pain if they aren't used properly.
I switched to git because the extra power and flexibility was more than worth the cost, and git's branching model ends up working much better for me, but mercurial is a very nice tool!