Efficient Market Hypothesis isn't very well defined. It's more like a class of assertions, some of which are demonstrably true and some of which are false. Loosely speaking, it says the market price of an asset (or exchange rate between two assets) will be fair, which means that it corresponds to the expected value of its basic value. If you're talking about a bond, you can look at the (known) payment stream, discount the cash flow, and compute a fair value based on known market conditions. For an equity, there is no fair value other than "the expected value of its price in the future". Some stocks pay dividends, but many don't, so their values are based on something other than a current dividend stream, and largely that "something" is: what is the expected value of the thing in the future? The question is: what is the timeframe?

In the very short term, EMH is false for computational reasons. Efficient markets require someone (i.e. an arbitrageur) to keep them efficient. The profits of arbitrage are the incentive for people to keep markets as efficient as possible, and they tend to have this effect. This is an extremely competitive business, and in this day in age, it often comes down to microseconds, but it can be done and billions of dollars are made every day by people who are doing it (and, contrary to popular depictions, arbitrage is actually good for the markets and economy).

In the very-long term, EHM is probably also false. By very-long, I'm talking about 10+ years. The reason for this is rooted in the scarcity of money: there are a lot of projects and companies that will produce and capture economic value in the future, but people don't have enough money to fund them all. Hence, stocks are "cheaper" than they should be, and risky growth stocks (much less illiquid private equity) especially so. ("Equity premium.") There are some people who (demonstrably) "get" value investing and are better at predicting long-term corporate futures than others. The issue here is the long feedback cycle. If your frequency of investments is that low, you have no way of knowing if you're actually good, or just getting lucky, especially in the context of the non-normal (i.e. fat-tailed) distribution of equity returns driven by "black swan" events.

EMH is true enough that if you don't have the technical machinery to trade at microsecond latency, nor the reputation that will allow you to invest for the very long term despite market caprice-- i.e. even if the market tanks, people will trust Warren Buffett's judgment-- you probably can't reliably make a better profit on the stock market than you'd get if you invested in an index fund.

What does EMH rely upon? Ultimately, it says that if there is expectancy to be made selling or buying a security at a price other than P, it will be sold or bought until the price reaches P. This assumes an infinite amount of capital ("smart money") that people are willing to deploy in order to exploit pricing inefficiencies or inconsistencies. This is an obviously false assumption, but for liquid securities of known expected value, it's close enough. Leverage (borrowing) generates a lot of "additional" smart money, so that even a 20bp (0.2%) discrepancy can be levered up into a 10% gain. (If you have $100, borrow $4900, and turn that $5,000 into $5,010, your equity position has gone from $100 to $110.) Microprofit opportunities will be exploited so long as there's sufficient leverage to make them worthwhile, but the willingness of lenders is not infinite.

EMH is usually used to make mathematical analyses work. It's a guideline, but no one who understands financial markets believes it to be literally and universally true. No one can actually predict the future or human behavior, but the (false) assumption that there is no arbitrage produces closed-form numbers that are often very close to the real values.

Also necessary is the distinction between smart and dumb money. The latter isn't a pejorative; "dumb money" means that there are incentives other than informed speculation. For example, when you buy a house because you want to live somewhere, that's dumb money. Or when an index fund buys stocks because of its chartered requirement to do so, that's "dumb money", not because the buyer is an idiot, but because his purchase doesn't convey information about the stock's real value in the way that smart money would. Markets are efficient when there's enough smart money to keep the dumb flow from pushing the price around. This is going to be true of highly liquid stocks, currency rates, and commodities, but not true of assets like real estate. Financial engineers tend to discount "dumb" activity as harmless Brownian motion, but the 2008 subprime mortgage meltdown established that not to be always wise.