It kind of kills the whole point of the standard, as to not have keys that are just files on your computer, to instead have it on a separate device with it’s own storage and memory that typically prevent extraction. Same with people using TOTP applications on smartphones: any of that can be swiftly copied, as it’s just another file, and the only enforcement against that relies on the security of your entire operating system to prevent that sensitive keying information to not be read.
Meanwhile dedicated hardware can be reduced down to the model described earlier, of something that simply takes an input of specific parameters, and signs it, with only a very narrow set of possible interactions.
It doesn’t “require” hardware, you could do a software-based token, but that voids the whole point. You could also McGyver your own out of cheap hardware (as I have in another reply), as a balance between the two.
But essentially isolating key storage and cryptographic operations to a separate isolated domain (separate CPU, RAM, storage) for certain applications (SSH public key auth, PGP, etc) is an improvement over doing the same on general-purpose complex networked multi-user desktop operating systems that are engineered to be used by the average normie (versus something isolated down to significant degrees of minimalism and esotericism, far more than just Qubes/Tails). Meanwhile in recent days there were Twitter-people circlejerking about how a Bitcoin developer had their wallet compromised and assets dumped, and people trying to parade the moment as a “See? If they can’t even secure their own wallet, then how is this ready for real-world use?” moment.