It probably is the technique or the tools, but rarely is it the product and it is NEVER the skin. Any eye shadow color can pop on any skintone, trust me. You are on the right track with using a primer, that helps. Try using a concealer lighter than your skin all over the lid or a MAC paint pot( i like ground work).
Use a NYX Shadow Pencil that is similar to the color of the shadow you want to use as a base to help the color pop. Then focus on packing the color onto the lid in a light patting motion, don’t sweep the eyeshadow on. When you blend remember to blend the edges, not really the whole lid, this helps to keep the color imapact there.
Also I believe in good brushes, you may not have the best brushes for the look you want. The 242, 249, or the 252 brushes from MAC are amazing for packing color onto the lid. I love my NARS small & large dome eye shadow brushes for blending the edges. These things are pricier but if you spend big money on anything it should be brushes, they will last for years and truly change how the makeup goes on. Most of the product is essentially the same, it’s all in the brushes and the technique.
Here is a link to a youtube makeup guru I love who shows you the method I talked about. All her videos are great.
Do this and I guarantee the color will pop. If you are still not convinced I will be doing an eye shadow tutorial soon so I can show you myself.