all 3 give you choices. but they all have limits. Obsidian wont give you an affix if you have an Epic or Legend version of the affix you are trying to get on the same item. Ruby is the same way. also, as an example, I was trying to get the Epic affix, Wizardry, but I wasn't getting it. then I noticed I had the Legend affix 30% Elemental Critical. although they are different affixes, they do the same thing. right after I took off the Legend affix, the very next time I tried for Wizardry, I got it. I had used 65 Topaz before I figured this out. Amethyst gives you a few choices that can be rolled either by any class or the class the item is based on. some Sets can not be rolled with Amethyst, only gotten from looted items.
I think the number of choices you have is 6 for each of the crystals, but I have read that the number of choices Obsidian gives is based on how many affixes are already on the item. 0 affixes is most choices, 5 affixes is fewest choices. when I used Obsidian on an item with 5 affixes, I usually had 5 choices, I think. it has been awhile since I use one, so I don't remember very well. I was just happy to get the affixes I wanted without having to roll again on another item.