Well, it's a fair question why Webauthn ended up so much more complicated, which has unquestionably been a hindrance to adoption.
2. The complexity in the standard is there to ensure things are done securely (think: not doing password checking via comparison loop).
3. The unnecessarily complexity in individual implementations in websites and passkey stores is due to general baseline corporate "incompetence".
If you use webauthn, you're already using passkeys.