An implementation is a compiler or interpreter for a programming language; it is a way to translate the instructions of the language into behavior. The most common language with multiple implementations today is probably JavaScript.
When folks talk about implementations, it's often in the context of having to deal with the problems that arise from having multiple ones. There are benefits -- your favorite one will do things the way you like -- but the problems can be frustrating. Because Chrome and Firefox and IE and Safari all behave slightly differently with the same JavaScript code, web developers have to spend a great deal of time testing their code on the various browsers, detecting which one you're using, and adapting the code to the slightly different sets of libraries, bugs, etc.
Some languages are defined by a standard implementation (ruby, perl, python) rather than by a document, which is why you don't hear of multiple implementations of those. Even in those languages you have the related problem of various versions having different behavior.
Implementations are not a new phenomenon: back in his high school days, Bill Gates got his start writing one of many BASIC implementations, for example.
What makes the problems worse with Scheme than with other languages is that the specification is intentionally small -- tries to specify very little. The benefit is that folks who design programming languages can create a new experimental Scheme implementation with neat new properties relatively quickly. Once they've done this, they can claim that even the small language they've written is "useful" because others have shown how to extend the small language to a useful one. However, there is a great deal of work in that "simple matter of programming", and each implementation must make a great many decisions on their own, so the differences between implementations are many and large. Thus the problems associated with multiple implementations are many and large in Scheme compared to more fully specified languages.
The Scheme community acknowledges the problem, along with the benefit of a small specification, and is actively working on ways to make the transition from experimental language to useful language clearer with new versions of the standard.
http://scheme-reports.org/
For now (2010), I personally recommend that new users begin working in PLT Scheme, and I'm glad you started there. Do not let the many implementations problem scare you: there is a great deal of benefit to working in the language that programming language designers designed for themselves. PLT has a large community and a good set of libraries that will help you overcome the difficulties outlined above.
Best,
Grem