Yes, they usually come in on plants -- there are often egg masses on plants that hatch in your tank and produce a lot of snails. I've found them to be more of an aesthetic issue than anything else.
In my larger tank, clown loaches eat them and in my smaller tank, a dwarf puffer does the work. But a clown loach is too big for a 10 gallon and a dwarf puffer usually doesn't mix well with most other tankmates -- they are quite aggressive -- so fish are probably not your answer.
A lot of people on the forum have had good luck with weighting down a piece of lettuce in the tank and removing the snails that accumulate on it each morning. You can also remove them by hand. Generally, the impression I've gotten from the forum is that if they don't have a lot to eat (ie. if you feed your fish in such a way that a lot of extra food doesn't wind up on the bottom) and you remove the snails you see, the snail population won't get too out of control.
I'm sure others will chime in with good advice.