Interesting topic, for me the safest is password, I use 4 different passwords for different things depending on the security required, for example for a site like this I will use something like (mexico1970) which I dont care if it gets cracked since I just post to the site and there is no credit card info or any other important info to protect, then I will have another password for more important issues lets say for email something like (!!carmelita.99) then I will have one for server user access (XrE.67-73up) then another for root access and for bank stuff, (!!.CeRto-49er) then I make sure I dont write down this passwords, I memorice them, whenever I am connecting to my servers I make sure the ssh fingerprint is already added to my known hosts, otherwise there might be a MITM attack going on also make sure the bank TLS/SSL certificate is valid, and never share passwords.
What I hate is those services that require you to set a password so imposible that you have to write it down, or some other that have password policies where I have to use a different password each month and cant use the last 5 passwords used, that is just stupid, since there is no security in writing down the passwords, changing passwords is something good but it shouldnt be enforced, on the other hand, certificates are prone to be lost or even compromised, think you have someone with access to your computer they can install keyloggers or also they could also get the certificates. so there is no one thing that will keep you safe, but certificates for sure are not safer that passwords. with servers I get a feeling of security when multiple mechanisms are set, lets say a VPN to access a machine from where you can connect to your servers via SSH, obscurity? maybe but have never been hacked.
Cheers, I like a site where I can post without passwords.