There are 2 variants, 3gb and 6gb. There shouldn't be much difference between them unless your game needs more graphics memory.
Actually, that's not quite accurate. The 1060 3GB also has 10% of its cores disabled, so it will get around 10% lower average frame rates even when the limited VRAM doesn't come into play. As a result, the 1060 3GB tends to perform similar to an RX 570, while the 1060 6GB performs similar to an RX 580. Again, there's only about a 10-15% performance difference between those two tiers of cards in most games, though the 1060 3GB's limited VRAM will likely cause more performance issues in future titles.
In any case, the 1060 is no longer being manufactured at this point, and at least at US online stores is no longer attractively priced compared to other cards on the market, like the RX 570, RX 580 or Nvidia's newer GTX 1660. The GTX 1660 can currently be had for about the same price as a 1060 3GB and for less than a 1060 6GB, again going by US online prices (though pricing may be different where you are). Most importantly, the GTX 1660 tends to perform upward of 15% faster than a 1060 6GB or RX 580 on average, or closer to 30% faster than an 1060 3GB or RX 570, at least in games where it's not being held back by CPU performance. Its power drawn isn't much much higher than the 1060 either.
So, depending on your budget, I would look at either the RX 570, RX 580 or GTX 1660 around this price range, and ignore the 1060 3GB and 6GB unless you can find them priced similar to their AMD counterparts, or priced significantly lower on the used market.