They are pretty close. Either is better for an individual depending on some variables i'll list below. What games you play is also important when choosing.
GTX 1060 6GB:
- Lower Power Usage
- Generally Lower Temps (Better cooled)
- Better Performance in
most Nvidia GameWorks titles, DirectX 11 and OpenGL games.
- Excellent Overclocker (If that interests you)
- CUDA might be something you benefit from if you work on any platforms that are optimised it.
RX 480 8GB:
- Slightly cheaper (Most the time)
- 2GB of more VRAM
- Better Performance in
most AMD Gaming Evolved titles, DirectX 12 and Vulkan games
- CrossFire (Mulit-GPU) compatible (The GTX 1060 cannot SLI)
-
Typically the stronger card overall on an average of ~5-8%
- Can be paired with a FreeSync monitor for relatively cheap.
To summarise, the RX 580 8GB often comes ahead in most games today but with higher power usage + temps at that, the overclocking potential on the GTX 1060 6GB can also make it a stronger competition. There are other things on the RX 580 that would indicate it to be better card in the long run due to the extra VRAM, better
long-term driver support, better performance in newer APIs (Vulkan and DX12) and of course the ability to add another RX 580 in CrossFire (you might see one cheap). But of course you might be someone big on power efficiency, overclocking or like having a quieter/cooler card which the GTX 1060 does better at. Just go for whichever card has features that appeal more to you and your build. Hope this helps
If you want to read up more for yourself, here are 2 in-depth reviews from reliable sources (Trusted Reviews + Digital Foundry):
http://www.trustedreviews.com/amd-radeon-rx-580-review-performance-page-2
http://www.eurogamer.net/articles/digitalfoundry-2017-radeon-rx-580-570-review