I will tell you one thing from a woman's perspective. I feel it is true for me. If I get the gall up to ask you for the things I need in a relationship, I need them "pretty" bad. They are deal breakers for me. Petty stuff I won't ask for.
If she asked for something she was not getting, she was most likely not content. I won't say unhappy, but there were things she needed.
I hate to say this, and I am not saying to be harsh, but you contradicted yourself a lot of there and did not take responsibility for your part.
When you say "worth making a sacrifice for" what kind of things was she asking for that it was such a sacrifice? Did she need tons of money and a third party in the bedroom?
For you to be willing to only give her something that is a "requirement" not to leave you is selfish. Maybe we don't always want to go way our of our way to meet someones needs, but I know when I chose to meet a need of my partner, it's not only to keep them put. It's because I care so much for them, I want their needs to be met.
I hate to say this, but she didn't leave without warning. Her way of telling you she was "unhappy" was by telling you her needs. You didn't want to sacrifice too much to meet them.
So, say you checked in with your W once a month and asked if she was happy. She said she needs xyz. You weren't taking her seriously (by your own admission) so why would she say anything other than "sure"?
You both own a role. I have close friends and family who are WAW. Their husbands didn't make an attempt to meet their wives needs which were very clearly expressed until they were pretty much out the door.
Again, this was not a post to blame you or make you feel bad. it's addressing what you said above to give some perspective and really do some deep digging.