Certificates are public, they don't need protection. The private keys do. That said you always want to store a certificate close to its private key for practical reasons.
Smart cards are useful to transform your keys into a real object that is carried around and presented upon request. They offer the interesting property that they cannot be copied or used by illegitimate users, at least not without spending horrendous amounts of time and money. When your smart card is lost or stolen you can always revoke the credentials it contains on the server side and get new ones. Much harder to know when your browser key store was stolen from your computer.