i work in academia, so it's definitely not the money that's kept me in my job (over 2 years fulltime and a year and a half part-time before that).
for me it's several things. my coworkers are all smart, nice people that i enjoy working with. i respect our management for what they do and i feel like they respect me for what i do. my job involves constant new projects and challenges that necessitate learning new skills and keep things from getting too repetitive. not working for a for-profit company, i can feel warm and fuzzy knowing that the end goal of all my hard work isn't just to make some rich person even richer.
a big part of it though, is that i feel needed. i can see how i fit into the organization and how it would be damaged if i left. i've invested enough of my time and energy that i'd rather not see that happen. i've been with them since almost the beginning and i've been allowed to contribute to our direction in non-trivial ways, so i feel like our success or failure reflects directly on me.
salary and benefits are nice, but not everything. once they're at a base level where i can pay all my bills and not really have to worry about money, they get less important. coworkers, a pleasant environment, a lack of drudgery, and a feeling of having a stake in the organization's success are what matter to me.