Personally I prefer emailed, SMS, or phone call 2FA, but that's only because I'm not familiar with the QR code method.
What if your email account was hacked? SMS/phone call also isn't the most secure way to do it. Phone company can see those, greedy employee's or hackers who've hacked your phone company can get them.
In simple, the QR code method works like this. The website generates a big long random string of letters. They make it into a QR code so you don't have to type it in. You scan it, your phone saves the random letters.
When you open the app on your phone, your phone gets the current date and time and the random string and hashes it. Hashing it basically jumbles it up in a way that can't be easily reversed back, the end result is a six digit code.
You enter that in the website, and the website uses the same random string that they gave you before and the current date + time and does the same thing, hashes it. It should calculate the same six digit code. If the code you gave them matches the same one they calculated it'll let you in, if they don't it won't.
This way is MUCH more secure than SMS/email. You do not need internet access on your phone to do this, all your phone needs is the random letters and the right time (has to be almost to the second accurate or else you'll have a different code to the one the website generates). Someone wanting to hack your account needs the random letters and they are long and random, it'll take a LONG LONG time to guess them like a bitcoin private key. And if someone uses your phone and writes down the six digit code, it'll only be valid for 30 or so seconds.
I wonder if it would work to have it set up on a phone and iPad at the same time, would the 30 seconds code sequence be the same?
I would take the security risk as I use strong passwords that are kept off line.
Lucky Cris was wrong. This will work fine so long as both iPad and phone have the exact right time set. Try it out, I do something similar.