LittleMissMagic's explanation was pretty good.
A couple of additions (I work in genetic epidemiology, so spend a lot of time looking at family trees).
First, Second, Third, etc. is based on the your shared ancestors - first means you share grandparents, second means you share great-grandparents, etc.
As was posted, "removed" is when the two cousins are not in the same generation. I find it easier to think of it as when the two cousins do not have the same relationship to the shared ancestors. So, for example, the shared ancestors are the grandparents for one cousin and the great-grandparents for the other. These are first-cousins once-removed. You base the first/second/third bit on the cousin who is closest to the ancestors.
So....
Take the two people and figure out which ancestors they share and each persons relationship to the ancestors. For example, great-great-granparents. Based on this, you can determine first/second/third - in this case, third cousins.
If the relationships are different (e.g. great-great-granparents for one and great-grandparents for the other), choose the closest one (in this case great-grandparents) and choose the first/second/third (in this case second). Then, count the difference in the number of "greats" to determine how many removes (in this case, there is a difference of 1, so they are once removed). In my example, you end up with second-cousins once-removed.
Clear as mud?
A few common ones...
Your cousins' children are your first-cousins once-removed.
Your cousins' children and your children are second-cousins.
Your parents' cousins are your first-cousins once-removed.