In my experience, one of the most difficult things nowadays, talking about the mixing process, is to obtain a sound that fits in every situation.
Just at my place I have so many different speakers and headphones that I find really hard to reach the final mix. What works for the first setup, doesn't work for another and vice versa.
I know the mastering stage should play the game (a part of), but what about minor productions, for which you have both to mix and to finalize your song?
If you run an indie label as I do, let me say sometimes you will send the stereo mix to a mastering engineer, some other you won't. Sad but true.
So you have to work it out.
My main reference monitors are Tannoy System 800, not bad at all.
But even if I am not a mastering engineer, I am stunned about the different perception of a mix coming out from Pro Tools straight to my monitor system, and the mix uploaded to SoundCloud or Youtube and streamed thru everything you want: Hi-Fi, home-theater, Headphones, iPhone, whatever...
Obviously the mix remains the same, but the perception is so different that I need to fix the mix at least a couple of time after a "web-check" on laptops and smartphones, from internal speakers and with cheap headphones.
It's totally nonsense nowadays let your expensive and super flat speakers being the final judge, since the 90% of the people will listen to your song thru all kinds of crap during their spinning workout or what.
10 years ago you had a "car test" and you were done. Now it's a mess.
What I'm trying to say is, I think I'm not looking for the perfect mix anymore.
Mixing stage nowadays is not about perfection, is about compatibility.
Or maybe it has been this way since the beginning, and I'm realizing it right now at the age of 40.
Mixing is not the art of Perfection, mixing is the art of Compromise.
Think about it during your next mixing session, before wasting 2 hours on the high frequencies damp of your reverb on the woodblock track (as I do).