Using a colour wheel, you can find out (or internet people can do it for you) which colours best compliment your eye colour. I am most familiar with the best colours for brown eyes (brown, olive green, purple), but this is a really helpful diagram courtesy of alldaychic.com to help you figure out which colours will makes your eyes ‘pop’.
Some people say you cannot wear the same colour shadow as your eye colour, but this proves that wrong. Most places you look will recommend brown eyeshadow for brown eyes and blue eyeshadow for blue eyes. Again, I can only speak for brown eyes, but the purple thing is LEGIT. When wearing purple eyeshadow I have been asked if I was wearing coloured contacts. That only happened one time but I’m still pretty proud of it.
Usually gold is the most recommended colour for blue eyes, but I think blue eyes look really great with a grey smokey eye look. Even though its not in this diagram, I think brown eyeshadow really works with green eyes, too.
Basically, wear any colour you want, but if you want to make your eyes look a deeper brown, a brighter blue or a more dazzling green, follow this advice.