This article is from the Beer and Other Brewing FAQ, by Kurt Swanson firstname.lastname@example.org with numerous contributions by others.
Worry? No. There are several possibilities. First, depending on your
recipe, an acceptable terminal gravity may be high. For example, a Barley
Wine with an initial gravity of 1.120, might completely ferment out at
1.040. On the other hand, a lite lager, with an initial gravity of 1.025
might ferment all the way down to 1.002. Thus you should check with your
recipe, or a similar recipe of that style, to determine what might be
proper. If you still believe it is high, and this is a frequent occurrence,
you may have a "stuck fermentation." This occurs for a variety of reasons.
The wort might not have been sufficiently aerated to start with, you might
slosh it around in the fermenter. Or, fermentation temperature might have
dropped to the point where the yeast may go dormant. Also, the yeast might
not have enough nutrients in the wort to work with. This often occurs in
extract brewing. In these latter two cases, you might try adding a yeast
nutrient, according to the instruction that come with it. Lastly, give it
time, as fermentation may slow, then suddenly accelerate at a later date.