Keys is great for individual use, or for company use if you have centralized key control (and issue one or more keys per user).
Often you either end up with one "dev ssh key" for all machines (which is bad) or you end up with people sharing around keys and unidentified keys on machines.
Passwords at least are "simple" for people to work with.
> Often you either end up with one "dev ssh key" for all machines (which is bad) or you end up with people sharing around keys and unidentified keys on machines
That hasn't been my experience at all. I've never encountered ssh key sharing in any environment, that would be insane.
We enforced different ssh keys per environment at my previous company: fingerprint of your key would get logged, and if the SIEM detected a reuse of keys across environments (dev, test, prod, etc) you'd get a stern talking to.
Often you either end up with one "dev ssh key" for all machines (which is bad) or you end up with people sharing around keys and unidentified keys on machines.
Passwords at least are "simple" for people to work with.