What's the difference between material implication and logical implication?
There is one level at which they can be distinguished. The following definitions are relatively common.
Material implication is a binary connective that can be used to create new sentences; so $\phi \to \psi$ is a compound sentence using the material implication symbol $\to$. Alternatively, in some contexts, material implication is the truth function of this connective.
Logical implication is a relation between two sentences $\phi$ and $\psi$, which says that any model that makes $\phi$ true also makes $\psi$ true. This can be written as $\phi \models \psi$, or sometimes, confusingly, as $\phi \Rightarrow \psi$, although some people use $\Rightarrow$ for material implication.
In this distinction, material implication is a symbol at the object level, while logical implication is a relation at the meta level. In other words, material implication is a function of the truth value of two sentences in one fixed model, but logical implication is not directly about the truth values of sentences in a particular model, it is about the relation between the truth values of the sentences when all models are considered.
There is a close relationship between the two notions in first-order logic. It is somewhat immediate from the definitions that if $\phi \to \psi$ holds in every model then $\phi \models \psi$, and conversely if $\phi \models \psi$ then $\phi \to \psi$ is true in every model. This relationship becomes more fuzzy when we begin to look at other logics, and in particular it can be quite fuzzy when philosophers talk about material conditionals and logical implication independent of any formal system.