A price is not a fact about a company. It is the most recent point where a buyer and a seller disagreed enough to trade — one thought it was worth having at that number, the other thought it was worth letting go. Every tick you see is that disagreement being resolved, over and over, all day.
At any instant there is a queue of people willing to buy at various prices and a queue willing to sell. When buyers are more eager — more of them, or more urgent — they take the cheapest offers and the price walks up. When sellers are more eager, it walks down. That is the entire mechanism. Everything else is a reason someone joined one queue rather than the other.
This is the single most confusing thing for a new trader, and it has a clean explanation: the price already contained an expectation. If everyone expected excellent results and the company delivers merely good ones, the people who bought in anticipation now have less reason to hold. The news was good; it was worse than what the price assumed. That is "priced in", and it explains most of what looks irrational on an earnings day.
Financial media supplies a cause for every wiggle because that is the job, but a great many moves are somebody large rebalancing a fund, an index adding or dropping a name, or simply a thin afternoon where a modest order pushed the price further than it should. Assuming every move encodes information is how people talk themselves into trades.
None of this means price is random noise forever. Across years, a company that earns steadily more money tends to be worth more, and one that earns less tends not to be. The mood dominates the hour; the business dominates the decade. Most of the frustration in trading lives in the distance between those two timescales.