I've made a previous post about Specific Impulse, but I've wanted to improve it for a while, since it's not very clear. This post is using a new system called MathJax to display equations, which should make them easier to read.
Specific impulse is essentially a measure of how efficiently a rocket engine converts the chemical potential energy of its fuel into the kinetic energy driving the rocket forward. It is defined as the thrust of a rocket engine $T$ divided by the weight flow rate $\dot{W}$: $$I_{sp}=\frac{T}{\dot{W}}$$ First, we need to distinguish between weight and mass. Mass is how much matter an object consists of, while weight is the force exerted on an object by the local gravitational field. The local gravity on Earth exerts 9.81 m/s^2 of acceleration on everything, so if force = mass times acceleration, the force, or weight, exerted by an object with 1 kg of mass is 1 kg * 9.81 m/s^2. Since one Newton is the amount of force needed to accelerate one kg at 1 m/s^2, the object has a weight of 9.81 N. Weight is normally measured in kilograms (or pounds, but they're the same dimensionally), which seems odd, since we know weight can change independently of mass on different planets with different gravities. This is because the unit commonly referred to by a kilogram is actually kilogram-force, or a kilopond, which is exactly the force of one kilogram of mass in standard Earth gravity, or about 9.81 N. Therefore, in common use, both the definition and unit of mass and weight are the same.
Specific impulse $I_{sp}$ is defined as the thrust $T$ produced by a rocket engine, divided by the weight flow rate of propellant $\dot{W}$, or: $${I_{sp}}=\frac{T}{\dot{W}}$$ It seems like it should be thrust per unit weight of propellant consumed, but thrust is instantaneous, so it wouldn't make sense without converting to some weird unit like newton-seconds.
Since $\dot{W}$ is weight, and weight is mass multiplied by standard gravity, the weight flow rate is the mass flow rate $\dot{m}$ multiplied by gravity: $$\dot{W}=g\dot{m}$$ The mass flow rate is the first derivative of the propellant mass $m_p$ with respect to time: $$\dot{m}=\frac{dm_p}{dt}$$ Therefore: $$\dot{W}=g\frac{dm_p}{dt}$$
Thrust is simply the exhaust velocity of the propellant from the engine $v_e$ multiplied by the mass flow rate $\dot{m}$ which is exactly the same as the mass flow rate already defined: $$T=v_e\frac{dm_p}{dt}$$
If we substitute these back into the original $I_{sp}$ formula, we get: $$I_{sp}=\frac{v_e\frac{dm_p}{dt}}{g\frac{dm_p}{dt}}$$ Since the mass flow rate is on both the top and bottom of the equation, we can get rid of them, and get: $$I_{sp}=\frac{v_e}{g}$$ The important thing to remember here is that $g$ is a constant in this equation. It is quite literally the acceleration due to gravity at the earth's surface, regardless of where the rocket engine is, or what kind of gravity it is in. In fact, any constant with the unit of $m/s^2$ would work. Not only that, but when calculating $\Delta{V}$ using a specific impulse term, as is frequently seen, the specific impulse term is multiplied by $g$, turning the term back into $v_e$. Another weird effect of this is that specific impulse has a unit of seconds.
This weird definition was originally used, as far as I can tell, because the unit of seconds is the same whether you're using metric or imperial units to calculate it, which is less confusing than m/s and ft/s. Using metric units, exhaust velocity and specific impulse can be calculated approximately by multiplying or dividing by ten. In short, specific impulse is a way of making exhaust velocity, which is the real measure of rocket engine efficiency, into a number which is the same whatever units you use to calculate it.
Interestingly, $v_e$ is effective exhaust velocity, which takes into account any propellant not exhausted at the full velocity of the engine, such as with turbine exhaust or film cooling. Effective exhaust velocity can be calculated on an existing engine with the specific impulse formula by using: $$v_e=\frac{T}{\dot{m}}$$ Except $T$ and $\dot{m}$ are based on measurements of a engine rather than calculated.