Hardware or Software authentication, which way next?

Which is better between hardware or software authentication? Now that security is the underlying priority of establishing an Info Tech infrastructure, what approach should a company choose between hardware and software in determining its authentication strategies? What are the diff between the two? In term of cost, which among the two is more economical?
