This. In the past Google released an update for Google Authenticator that had a bug that accidentally deleted some users codes.
Google intentionally didn't put in a way to back up codes as their plan is that if you lose a code you need to verify yourself with the service and they give you a new code. The problem is some websites, such as BTC-e, don't have the proper procedures in place to reset 2FA, so if you lose your code you may not be able to regain access to your account. This is particularly bad for Bitcoin websites due to the fact the bitcoin community loves anonymity, as it is difficult to verify yourself when you are anonymous.
I personally think that the security that 2FA provides is significantly over-hyped. If the device you are logging in with is infected with viruses they can hijack your session when you login and have full access to the account. The only scenario 2FA protects against is if an attacker has obtained your password without compromising your PC, this usually means you've fallen victim to a phishing scam or you reuse passwords or have significantly weak passwords, a password manager such as LastPass or KeePass does a better job at protecting you from those threats than 2FA.
Any 2FA method must be able to give you your code independently of any additional connection or service. For example you must not have to login to any third party website to get your code, and you must not need to have any internet/wireless connection on your 2FA device. If either of these are true then you would need to trust the third party with your 2FA codes which somewhat defeats the purpose.