That implied volatility you are observing was calculated using the standard Black-Scholes model (BSM). As we all know, no model is a perfect representation of reality. The variation (or skew) you observe is a consequence of the model being wrong.
Let's think about the implications of the BSM not being exactly correct and everybody knowing that fact. Market prices cannot come solely from the model in this case. In particular, an important result is that (since the model is incorrect) even if you were to plug in the "right" value for every parameter, you would not get the market option prices.
Any model, including the BSM, can be run "backwards", by which we mean here that it can start with an option price and derive an implied parameter. If the model has $M$ parameters $p_1, p_2, \dots, p_M$ that are normally used to find a price $V$, then we can also choose any one of the parameters, call it $p_n$, to derive from an observed price $W$ (normally by root-finding techniques).
That is to say,
$$
V = f(p_1, p_2, \dots, p_M)
$$
gets inverted to $g=f^{-1}$ in parameter $n$ to form
$$
p_n^{\text{impl}} = g(W, p_1,\dots,p_{n-1},p_{n+1},\dots,p_M).
$$
It so happens that for the BSM most of the parameters are reasonably easy to observe (strike, interest rate, etc.) while volatility is a rather more mysterious quantity, especially because the BSM needs future volatility rather than past volatility. Therefore, the market practitioners tend to pick on that parameter and talk about implied volatility even though in principle we could do everything in terms of, say, implied dividend yield.
In any case, since the model is wrong, we don't expect to get the exact right option prices when we run the model forward, and therefore don't expect to get one "right" parameter when we run it backward. That's why you see variation in volatility by option strike.
Now, as to the exact shape of that variation (decreasing implied volatility with strike), there are quite a few explanations and they are not mutually exclusive. For example, a somewhat more credible model than the plain old BSM is Black-Scholes With Jumps (BSJ), where the underlying price can take a sudden dive. You need extra parameters to describe the jumps of course, but the result is a model whose implied volatility skew is "flatter". Because those jumps are to the downside, they show up as higher prices(=higher BSM implied volatility) for the low-strike options.
Other explanations involve transaction costs, discrete stock price processes, bankruptcy, stochastic volatility, market psychology, etc.