The big reasons are:
a) Asset valuation is bunk.
Banks are allowed to carry various securities on their books at model-based valuations. If a bank owns lots of toxic mortgage backed securities for example, they have soem cash flow based model that is used to value the asset but they couldn't possibly sell it for that. The models are not even disclosed so nobody has an opinion about whether they are reasonable (they aren't but they fool bank examiners who are econ majors straight out of Western Kentucky U). Other investments on the books can be similarly impaired without requiring loss reserves or write-downs for a very long time.
2) Contingent liabilities
There are some big lawsuits out there against these banks and significant govt problems with stuff like LIBOR scandals. These liabilities are not recognized on the balance sheet until someone decides that is almost inevitable that they are going to have to pay some reasonably estimable amount of money.
3) Risk
No matter what they do banks always end up with the borrow short lend long problem. In an environment of such low interest rates, a rise in interest rates hammers assets but does not decrease low duration liabilities.
4) Regulatory uncertainty
I hate banks as an investment now (I could be wrong) because I think Dodd-Frank is completely crazy legislation which will have all kinds of unintended side effects.
You could go to Harvard School of Business and get the long answer.
Or, the stock market price is based on "expectations". Either rightly or wrongly the "market" has priced Bank XYZ at $XX. a share. Even though the Book Value is X.
Book value is only important if the company is sold or liquidated.
And typically, there is a wide disparity between Book Value and what the assets would bring on the open market.
What causes this?