Yup, I forgot the PIN pattern to unlock my cell phone. Wound up having to do a master reset, which of course wiped all my apps including Authenicator. I was able to regain access to all my accounts and re-setup my phone thanks to backup codes. Only one service I was using - Amazon AWS doesn't provide backup codes. I put in a support request and they actually called me 20 minutes later at 2am to get me back in to my account - now if that's not customer service I don't know what is.
This is why backup codes are so important. Generate them and save them in a safe place - I keep mine in an encrypted container that's password protected. Had I not had backup codes I would have most likely lost access to some of my most important accounts (Multiple Gmail accounts, Dropbox, etc). I probably would have gotten back into those accounts eventually but it would've been much more challenging then just resetting the 2FA device with a backup code.
I read an article on a blog a couple months ago about having a backup device for 2FA. It's one of those why didn't I think of it things. When you setup 2FA, simply scan the barcode with a second device. Your phone and the second device (tablet, backup phone, etc) will generate the same codes because it's using the same key.
A few months back, Amazon was running a promotion for Prime members to get a fairly capable unlocked Android phone for ~$50. I'd jumped on it mainly because I went iPhone for my primary phone and it doesn't always play well with my Chromecast Audio. Android of course has it baked in natively. Long story short, I've been using it as a WiFi only device and have my all my 2FA accounts backed up to it.
Lastpass came out with it's own Authenicator app which works mostly like Google Authenicator just more user friendly. When logging into LastPass, I don't have to type the code I just have to press accept on my phone. It's easier. Google now allows you to just press Yes from the mobile Google apps to authenticate login.
Companies are making 2FA much more user friendly which means more people will use it. Apple bakes it right it - it's not even an option. If you login to iCloud from an unrecognized device it will ask you which trusted Apple device you want your 2FA code sent to. The code pops right up on the screen which makes things really easy.