Snails make great companions for bettas, eating leftover food before it can foul the water and controlling algae. Bettas and snails almost never bother each other. However, you want to watch out for pest snails that will harm plants or overrun a tank.
Turret Snails
Turret snails, or Malaysian trumpet snails, are a great snail if you have gravel in your betta bowl. They are small (under half an inch), and cone-shaped. They spend the day out of sight and out of mind, sifting through the gravel for uneaten food, and they don't harm plants. However, if conditions are bad, their population can increase quickly. Worse, if there isn't enough food, they can have mass die-offs that damage your water. Careful, consistent feedings will keep their numbers where they should be.
Pond Snails
Pond snails look a lot like the garden snails you see on land. They reproduce quickly, laying jelly-like eggs in clusters on the glass. They do a great job of eating algae and won't harm plants (usually). Like the trumpet snails, they can reproduce quickly and cause problems if you frequently overfeed your betta. Otherwise, they make a fine companion for your fish.
Ramshorn Snails
Ramshorn snails have a flat, rounded shell. They are about the same size as pond snails, and will scavenge extra food and eat algae. However, they are less safe around plants than other species of snail. If you don't have live plants in your betta's bowl, this isn't much of a problem. Like most snails, they can reproduce quickly and overrun a tank if you overfeed.
Assassin Snails
Assassin snails are different from the other snails on the list. They don't eat plants or algae. They eat other snails. They are often introduced to a tank to "clean up" when other snails have gotten out of hand. It's unlikely they'll totally eradicate other snails, but one or two can keep other species in check. Unlike the other snails here, they reproduce slowly.
References