I think there are a few good responses to the question of "are markets efficient?".
1) Markets are efficient enough in that you generally don't see any real big arbitrage opportunities. Small ones will always be present, and as is often pointed out its not worth the big players time to search them out and capitalize.
A trader also sees this as evidenced by the fact that we are using more and more data and ever increasingly complicated math to eek out smaller and smaller chunks of alpha.
2) different people have different ideas as to what the correct price actually is.
Consider a company that is continually losing money.
- Fundamental analysts will value this as a poor company due to its future cash flows dwindling. They may consider this a short opportunity
- Merger Arb folks may bid up this up as a potential merger target thus raising the price.
- ETF's tracking an index just don't care, they'll buy the company in proportion to its index weight.
- Stat arb folks will be agnostic to price and only compare it to a peer that they feel it will trade in relation ship with, these people will be both long and short this company at different times, often unrelated to what its price currently is.
3) Physics often uses the simplifying assumption of no friction to make things easier. The efficient market hypothesis works under the assumption that everyone knows about news immediately and has time to react. Some investors react in micro seconds, some in weeks. Both affect the price