Light will always affect the way our eye sees colour. The beige sweater in shadow will look different than in sunlight and different again under office flourescents. It seems less noticeable with more saturated colours, because they have such a strong presence, but it happens with them too. A green sweater will look different under flourescent lights than it does outdoors or in candlelight. Because there is so little chroma in light colours already, small shifts start to feel very noticeable. (Same thing happens with paint -- your perfect "greige" reads green in some lights and purple in others!)
Texture also play a role because of how it absorbs or reflects light.
It can be hard to guarantee any colour with flatter you equally in every light, but some strategies could include ensuring that you like it in the lighting where you will see it most. If a jacket is mostly worn outdoors, love it under natural light. Sweater mostly worn at work? Check it under those conditions.
I suppose you can also try to make sure you've got another colour supporting it that you know works. For example, I have an oatmeal/taupe cardigan that I don't think I would love on me by itself, but over black, I think it works.
Your cardigan looks lovely as shown. I hope you can find ways to feel fabulous in it every time you wear it!