Fuck the 2 factor bullshit.
I've lost many accounts just because I moved to another country and changed my number.
I still know the password, It is my account but I can't login just because the asshole who created 2 factor authentication never moved out of his parent's basement.
While true, other scenarios do come into play, like "I'm using a FIDO key but I dropped it down a storm drain". Meaning you pretty much have to provide some recovery mechanism, since you can't really require the user to have a backup device.
Indeed, but some "security" guys frown deeply about the private key ever leaving a specific hardware device, because the second it can be backed up they freak out that it could, theoretically, be stolen. It's hardly a practical concern, but there's a lot of security people that don't care about practical considerations.
I see it more neutrally - the concern isn't wrong after all. Security is always to be balanced against convenience.
I consider being locked out for good so inconvenient that I'm willing to sacrifice a bit of security to avoid it. But everyone has to find what works best for them.
The security level should be the user's choice. Maybe I don't care if my neopets account is hacked. Maybe the 2fa offered actually decreases security, like the SMS 2FA required by my 401k account that can be used as the sole recovery factor, bypassing the password. Maybe I'm accessing from a system configuration that makes 2fa really annoying, like a build system running inside a fresh VM on every run.
The service doesn't have the context necessary to know when 2FA is warranted.