I can point out many significant inefficiencies in the system - E.g. Nepotism (allocating employee rank and pay based on social connections instead of skills/results), executive bonus structures which favor short-term gains over long-term gains, monopolies which make companies complacent and employees less productive, other anti-competitive behaviours - These factors allow large, inefficient companies to beat competitors in the market in spite of significant internal inefficiencies.
Anti-competitive behaviour will probably always exist in the markets; it's part of human nature and it's basically universally accepted except in the most extreme cases (E.g. antitrust cases).
Maybe if humans become smarter and more psychopathic (like in the novel 'Atlas Shrugged'), then we could have an efficient market, but right now, I think it's very far from efficient.
Maybe it's efficient on a human psychological level (from the perspective of an average trader/investor) in that there is some sort of universal consensus about the value of everything. The problem is that this consensus is not rooted in reality but on a superficial, socially-constructed representation of it - That means it's not necessarily efficient in terms of maximizing the output of companies and the happiness of their customers.
These two statements don't seem related. And I don't understand the first one anyway. Where does "fairness" come in? It doesn't seem unreasonable to me that one person who has perfect knowledge about a financial market would be able to make money that someone who doesn't have perfect knowledge wouldn't. And it seems quite "fair" to me that this would be so; why should the person with better knowledge not be able to benefit from their better knowledge?
Which is to say, if you have perfect knowledge, you might be able to prevent the spoofer from reaping the benefits of their spoofing, but you won't actually have harmed them, and of course the effect on the market is just as bad as if you let the spoofer spoof in peace.
Also, I would assume spoofers don't typically place orders in illiquid markets, precisely because they risk having someone use their new order as a source of liquidity. I mean, spoofers don't actually want their orders filled. Plus, the whole point of the spoofed order is to trick market makers into moving their positions, and if the market isn't liquid then clearly there's no market makers (because if there were market makers, then the market would be liquid), and if there's no market makers then spoofing isn't going to work to begin with.
Uh, yeah they should. To someone with perfect knowledge, a proper free market should be 100% predictable. It's only unpredictable if other people know things that you don't (and the market itself is the vehicle by which that knowledge is disseminated). Introducing uncertainty into the market without introducing knowledge into the market is a bad thing. And spoofing trades in order to move the market isn't providing any knowledge, and it is in fact making the market less efficient because it no longer matches the knowledge of the participants.